Соединения таблиц в SQL-запросах во WHERE, без джоинов (SELECT без JOIN) Плюсы и минусы/ Илья Хохлов

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

Комментарии • 37

  • @rayman4x4
    @rayman4x4 2 года назад +3

    Самый удобный способ соединения. Просто ставишь (+) там, где хочешь видеть NULL значения. Без всяких левых, правых джойнов.

  • @konstantin3826
    @konstantin3826 4 года назад +2

    Спасибо за очередной урок!

    • @PrimeSoft
      @PrimeSoft  4 года назад

      Константин, большое Вам спасибо, что посмотрели урок и за Ваш комментарий!

  • @eln6545
    @eln6545 4 года назад +2

    Спасибо, очень понятно объясняете

    • @PrimeSoft
      @PrimeSoft  4 года назад

      Спасибо Вам за внимание!

  • @tomozi1
    @tomozi1 Год назад +1

    Пишем большие запросы, используем оракловый синтаксис соединения таблиц в where.
    Единственным ограничением бывает невозможность написать FULL JOIN плюсиками. Приходится использовать ANSI

  • @vip51000
    @vip51000 4 года назад +5

    По-моему такой вариант запроса только в Oracle используется

  • @nikitakoss3645
    @nikitakoss3645 3 года назад +3

    Нас в институте только так и учили. только при устройстве на работу на собеседовании узнал про join

  • @pahmutovarthur
    @pahmutovarthur 4 года назад +4

    Хорошо, когда учат профессионалы )
    в голове, только нужное
    за Deadpool (a) отдельно 👍
    Хотелось бы узнать ещё способы в правильном исполнении

    • @PrimeSoft
      @PrimeSoft  4 года назад +2

      Артур, спасибо!

  • @spyro2008
    @spyro2008 2 года назад

    Спасибо!!!

  • @Prizrakss-xk7oh
    @Prizrakss-xk7oh 2 года назад

    Ля, от души, брат , спасибо большое

  • @aln7485
    @aln7485 3 года назад +1

    В каких реляционных СУБД не поддерживается
    WHERE ph.PersonID = p.PersonID
    ?

  • @ivannaboichshikov1367
    @ivannaboichshikov1367 3 года назад +2

    А разве кто-то кроме Oracle поддерживает способ соединения плюсиками?

  • @Eugenij7
    @Eugenij7 2 года назад

    правильно ли я понимаю что конструкция (+) это всего-лишь указание при неоднозначной операции сравнения (NULL не меньше, но и не больше, и не равен), трактовать её как истинную? и данную конструкцию можно юзать где захочется?

  • @ivanshipilov4265
    @ivanshipilov4265 3 года назад

    Ну я так понимаю, что через JOIN запрос читается и пишется более предсказуемым что-ли. Точно видно и понятно что будет происходить. По этой же причине мне совершенно не нравится писать USING (personid) вместо ON p.personid = ph.personid хотя это допускается. А вот названия таблиц и атрибутов в переменном регистре я бы точно не стал писать. Если под LINUX проблем не будет, то WINDOWS весь мозг выест с его кодировками. А их 3. 866, 1251 и UTF8. Особенно если через консоль заходить.

  • @anatolytitov4169
    @anatolytitov4169 3 года назад

    Спасибо! MySQL так умеет?

  • @sergafanasiev7956
    @sergafanasiev7956 Год назад +1

    ну это не всегда INNER JOIN. Если просто перечислить таблицы через запятую и не задать ни одного условия, то это будет CROSS JOIN

    • @PrimeSoft
      @PrimeSoft  Год назад

      Верно. Про это надо будет тоже рассказать! Спасибо!

  • @p_volokhov_edu
    @p_volokhov_edu 2 года назад

    Привет.
    Зачем добавлять (+) к типу телефона ph.phone_type?

    • @alexandr6055
      @alexandr6055 Год назад

      Уже год почти прошёл, но я отвечу) если бы он так не сделал, то у нас бы прошли все работники только с мобильными телефонами. То есть автор по сути лефт Джоин сделал

  • @klavesin
    @klavesin 2 года назад

    Persons, Phones. А Departament, Filial выбиваются - как-то не по-английски

  • @ТимурСафаров-в1ч

    Илья ты что примеры показываешь на Oracle? С ней же мало кто работает особенно из новичков. Смысл им показывать запросы на Oracle?

  • @1boxingclub378
    @1boxingclub378 2 года назад

    Урок хороший, но в жизни он почти не нужен. Когда данных много, базу этот способ нагружает сильно, и если кто то работает и параллельно запустить такой запрос,то будет больно))

  • @canniballissimo
    @canniballissimo 3 года назад

    наоборот всю жизнь джойнами цеплял, а таким макаром от силы раз 5 пробовал или видел его.

  • @zigidai2429
    @zigidai2429 2 года назад

    а зачем соединять таблицы, для чего это

    • @Myownset
      @Myownset 2 года назад +1

      Бесы попутали походу

    • @zigidai2429
      @zigidai2429 2 года назад

      @@Myownset ну чего ты так, я тогда только начинал обучаться, искренний вопрос был)

    • @ДмитрийСтрекалов-т7в
      @ДмитрийСтрекалов-т7в Год назад

      парниша из видео по ходу не знает что такое cross join или декартово произведение таблиц.
      Запятая есть функциональный аналог cross join в ANSI-92.
      Cross join бывают очень нужны например чтобы из таблицы с 10 записями получить таблицу с миллионом записей просто умножив ее саму на себя несколько раз через запятую. Обычно используется в генераторах данных.

  • @ZHERNOVNIKOFF
    @ZHERNOVNIKOFF 4 года назад +5

    Я как-то давно делал так, пока мне друзья не сказали что я идиот

    • @PrimeSoft
      @PrimeSoft  4 года назад +3

      Раз есть такой способ соединения, то почему бы им не пользоваться:) Но он не рекомендуется для больших запросов и не подходит для программного обеспечения, поддерживающего работу в разных СУБД.

  • @amz2mov
    @amz2mov 3 года назад

    У тебя на клаве нет буквы Й? Пиши джойн, а не джоин.

    • @canniballissimo
      @canniballissimo 3 года назад +1

      join - JO-I-N. Может тогда "джо-ай-н" писать?

  • @maksimkuznetsov2132
    @maksimkuznetsov2132 Год назад

    В аду отдельный котёл для тех, кто перечисляет таблицы в о from через запятую.