Mysql join запросы — в чем разница?


alexverem
132

Всем привит,

Насколько я понял два запроса (c JOIN и без) вернут одно и тоже, а именно эти:

 SELECT * FROM nomenclature, description WHERE nomenclature.id = description.id;
 SELECT * FROM nomenclature, description INNER JOIN nomenclature ON nomenclature.id = description.id

1) Можно так и так, или принято использовать второй вариант? 

2) По скорости одно и то же?


LEOnidUKG

Чем проще запрос, тем быстрее он работает это догма.

При работает с одной таблицей JOIN не имеет никакого смысла.


alexverem
так там 2 таблицы

livetv

1) Я явно джойню
2) Должно быть одинаково, смотрите EXPLAIN, profiling


miketomlin

В втором зачем опять написали nomenclature после FROM?

Как выше написали, должно быть одинаково. Перечисление таблиц после FROM через запятую – это тот же INNER/CROSS JOIN.


alexverem
да во втором  nomenclature лишняя, значит без нее правильно. И будет тоже самое что первый вариант значит?

Dram
alexverem #:
да во втором  nomenclature лишняя, значит без нее правильно. И будет тоже самое что первый вариант значит?

Вам уже ответили что INNER JOIN тут бессмысленно применять, таблица то одна и та же.


alexverem
ок спасибо

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *