arrow

назад

ask

Вопрос

Мудрецы SQL. Подскажите пожалуйста разницу между неявным объединением таблиц с оператором WHERE и классическим JOIN (INNER JOIN).

repost

393

input message

напишите коммент


4 коммента

Если это просто 2-3 таблички на иннере то разницы никакой, но если там встречаются еще левые и не дай бог правые, то смешивая неявные соединения и джоины можно нажить себе много проблем. Поэтому я если у меня нет лефтов а всего лишь пара тройка иннеров пишу через WHERE иначе через джоины

0

ответить

Неявный из-за нашей невнимательности может что-то пропустить или свалить все в одну кучу. А в явном мы даем установку разложить все по полочкам, минимизируя риски и исключая ошибки

0

ответить

Разница в цене ошибки. Первый вариант две таблицы по 10к записей превратит в 1млн, если неправильно сформулировать WHERE

0

ответить

Явной разнице в результате нет, есть разница логике выполнения скрипта. В join -е четкие условия объедение таблиц а where все условия в куче так сказать

0

ответить

еще контент автора

пост закреплён — пока закрепить можно только один пост

trash bin
перейти к нему не получится