@Andranikk

JOIN ... USING или JOIN... ON?

Всем привет!
Подскажите пожалуйста. есть ли какая нибудь разница в производительности/безопастности между этоими тремя примерами:
SELECT * FROM table1, table2 WHERE table1.id = $id AND table1.id=table2.id
SELECT * FROM table1 LEFT JOIN table2 ON (table1.id = table2.id) WHERE table1.id = $id
SELECT * FROM table1 LEFT JOIN table2 USING (id) WHERE table1.id = $id
  • Вопрос задан
  • 257 просмотров
Решения вопроса 2
Алексей Уколов верно написал, за одной лишь разницей, что первый запрос это по сути INNER JOIN, когда второй и третий LEFT JOIN
на счет скорости первого и если запрос представить в виде INNER JOIN, я бы поспорил - на мой взгляд скорость будет идентичная
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Первое - декартово произведение, оно выполняется, как правило, значительно медленнее джойна.
Второй и третий вариант идентичны.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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