Пишем большие запросы, используем оракловый синтаксис соединения таблиц в where. Единственным ограничением бывает невозможность написать FULL JOIN плюсиками. Приходится использовать ANSI
правильно ли я понимаю что конструкция (+) это всего-лишь указание при неоднозначной операции сравнения (NULL не меньше, но и не больше, и не равен), трактовать её как истинную? и данную конструкцию можно юзать где захочется?
Ну я так понимаю, что через JOIN запрос читается и пишется более предсказуемым что-ли. Точно видно и понятно что будет происходить. По этой же причине мне совершенно не нравится писать USING (personid) вместо ON p.personid = ph.personid хотя это допускается. А вот названия таблиц и атрибутов в переменном регистре я бы точно не стал писать. Если под LINUX проблем не будет, то WINDOWS весь мозг выест с его кодировками. А их 3. 866, 1251 и UTF8. Особенно если через консоль заходить.
Уже год почти прошёл, но я отвечу) если бы он так не сделал, то у нас бы прошли все работники только с мобильными телефонами. То есть автор по сути лефт Джоин сделал
Урок хороший, но в жизни он почти не нужен. Когда данных много, базу этот способ нагружает сильно, и если кто то работает и параллельно запустить такой запрос,то будет больно))
парниша из видео по ходу не знает что такое cross join или декартово произведение таблиц. Запятая есть функциональный аналог cross join в ANSI-92. Cross join бывают очень нужны например чтобы из таблицы с 10 записями получить таблицу с миллионом записей просто умножив ее саму на себя несколько раз через запятую. Обычно используется в генераторах данных.
Раз есть такой способ соединения, то почему бы им не пользоваться:) Но он не рекомендуется для больших запросов и не подходит для программного обеспечения, поддерживающего работу в разных СУБД.
Самый удобный способ соединения. Просто ставишь (+) там, где хочешь видеть NULL значения. Без всяких левых, правых джойнов.
Спасибо за очередной урок!
Константин, большое Вам спасибо, что посмотрели урок и за Ваш комментарий!
Спасибо, очень понятно объясняете
Спасибо Вам за внимание!
Пишем большие запросы, используем оракловый синтаксис соединения таблиц в where.
Единственным ограничением бывает невозможность написать FULL JOIN плюсиками. Приходится использовать ANSI
По-моему такой вариант запроса только в Oracle используется
Нас в институте только так и учили. только при устройстве на работу на собеседовании узнал про join
ну ты дал!
Не взяли получается?
А у меня наоборот. Учили с Join, а на работе без Join работаем 🤣
Хорошо, когда учат профессионалы )
в голове, только нужное
за Deadpool (a) отдельно 👍
Хотелось бы узнать ещё способы в правильном исполнении
Артур, спасибо!
Спасибо!!!
Ля, от души, брат , спасибо большое
В каких реляционных СУБД не поддерживается
WHERE ph.PersonID = p.PersonID
?
А разве кто-то кроме Oracle поддерживает способ соединения плюсиками?
правильно ли я понимаю что конструкция (+) это всего-лишь указание при неоднозначной операции сравнения (NULL не меньше, но и не больше, и не равен), трактовать её как истинную? и данную конструкцию можно юзать где захочется?
Ну я так понимаю, что через JOIN запрос читается и пишется более предсказуемым что-ли. Точно видно и понятно что будет происходить. По этой же причине мне совершенно не нравится писать USING (personid) вместо ON p.personid = ph.personid хотя это допускается. А вот названия таблиц и атрибутов в переменном регистре я бы точно не стал писать. Если под LINUX проблем не будет, то WINDOWS весь мозг выест с его кодировками. А их 3. 866, 1251 и UTF8. Особенно если через консоль заходить.
Спасибо! MySQL так умеет?
ну это не всегда INNER JOIN. Если просто перечислить таблицы через запятую и не задать ни одного условия, то это будет CROSS JOIN
Верно. Про это надо будет тоже рассказать! Спасибо!
Привет.
Зачем добавлять (+) к типу телефона ph.phone_type?
Уже год почти прошёл, но я отвечу) если бы он так не сделал, то у нас бы прошли все работники только с мобильными телефонами. То есть автор по сути лефт Джоин сделал
Persons, Phones. А Departament, Filial выбиваются - как-то не по-английски
Илья ты что примеры показываешь на Oracle? С ней же мало кто работает особенно из новичков. Смысл им показывать запросы на Oracle?
Урок хороший, но в жизни он почти не нужен. Когда данных много, базу этот способ нагружает сильно, и если кто то работает и параллельно запустить такой запрос,то будет больно))
наоборот всю жизнь джойнами цеплял, а таким макаром от силы раз 5 пробовал или видел его.
а зачем соединять таблицы, для чего это
Бесы попутали походу
@@Myownset ну чего ты так, я тогда только начинал обучаться, искренний вопрос был)
парниша из видео по ходу не знает что такое cross join или декартово произведение таблиц.
Запятая есть функциональный аналог cross join в ANSI-92.
Cross join бывают очень нужны например чтобы из таблицы с 10 записями получить таблицу с миллионом записей просто умножив ее саму на себя несколько раз через запятую. Обычно используется в генераторах данных.
Я как-то давно делал так, пока мне друзья не сказали что я идиот
Раз есть такой способ соединения, то почему бы им не пользоваться:) Но он не рекомендуется для больших запросов и не подходит для программного обеспечения, поддерживающего работу в разных СУБД.
У тебя на клаве нет буквы Й? Пиши джойн, а не джоин.
join - JO-I-N. Может тогда "джо-ай-н" писать?
В аду отдельный котёл для тех, кто перечисляет таблицы в о from через запятую.