72 похожих чатов

Всем привет, достаточно простой вопрос (два), но не могу найти

ответ.
есть два запроса
select * from TABLE_A a left join TABLE_B b on a.pk = b.fk and( a.date_start ≤ b.date and a.date_end ≥ b.date)

select * from TABLE_A a left join TABLE_B b on a.pk = b.fk where a.date_start ≤ b.date and a.date_end ≥ b.date

Что это за мода пошла делать отбор после ON, он же будет не корректный.
И второе, как будет происходить выполнение

Когда ограничение в части ON находиться это относиться только к подключаемой таблицы.
а когда после WHERE это уже касается итоговой выборки. <— Правильное утверждение ?

Спасибо!

9 ответов

5 просмотров

> Что это за мода пошла делать отбор после ON, он же будет не корректный. Смотря какой результат нужен... Но второй запрос просто вводит в заблуждение (такое code review не пройдёт ;) ), это да. > Когда ограничение в части ON То это относится к данному JOIN, да.

Chern-Oleksander Автор вопроса
Yaroslav Schekin
> Что это за мода пошла делать отбор после ON, он ...

Спасибо Вам огромное, а чисто случайно не подскажите как правильно спросить у гугла, про этапы выполнения запроса оптимизатором? Хочу понимать что выполняется первым, что последующим. Например select user_id from tbl_1 join tbl2 on tbl_1.id=tbl_2.id where user_id =1 Limit 1 Cначало выполняется соединения таблиц, формируется +/- виртуальная таблица, потом к этой таблице приминяются условия where, после выполняется условия limit... Спасибо!

Chern Oleksander
Спасибо Вам огромное, а чисто случайно не подскажи...

Что-то вроде "logical sequence of sql query execution", например.

Chern-Oleksander Автор вопроса
Yaroslav Schekin
Что-то вроде "logical sequence of sql query execut...

Спасибо) И просто интересно не зачтите за флуд. А на кого вы учились? и сколько времени ушло чтобы так хорошо разбираться в БД ? и что больше читаете или курсы или сертификацию проходите или еще что-то?

Chern Oleksander
Спасибо) И просто интересно не зачтите за флуд. А ...

1. На программиста. 2. Не помню... несколько лет, кажется. 3. Книги и документацию. И это off topic, наверное. ;)

Это не эквивалентные запросы

Не совсем правильное утверждение, где-то близко к истине, но хромает формулировка

Chern Oleksander
Согласен

Условие в on использует значения полей ДО join Условие в Where - ПОСЛЕ. Все достаточно просто

Похожие вопросы

Обсуждают сегодня

что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
что лучше для раста, Clion или IntellJ IDEA?
dbxty
11
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
А вообще существует редактор (современный), который не позиционирует себя как "легковесный, удобный и расширяемый"?
Andrey Zgarbul
7
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
А кто-то пользуется хостингом в РФ здесь? Где правильно покупать сегодня VPSки с нормальным uptime провайдера? Лет 15 этого не делал - отстал.
Keiman
5
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Может кто подсказать какие требования к изображениям для обучения Yolo v8? Как то разрешение, размер выделяемого обьекта в пикселях, оптимальное кол-во изображений. А то я пыт...
Владислав😎
16
Карта сайта