Задать вопрос
@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
  • Вопрос задан
  • 277 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Java-разработчик
    9 месяцев
    Далее
  • GB (GeekBrains)
    Профессия Python-разработчик
    10 месяцев
    Далее
Решения вопроса 2
Алексей Уколов верно написал, за одной лишь разницей, что первый запрос это по сути INNER JOIN, когда второй и третий LEFT JOIN
на счет скорости первого и если запрос представить в виде INNER JOIN, я бы поспорил - на мой взгляд скорость будет идентичная
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Первое - декартово произведение, оно выполняется, как правило, значительно медленнее джойна.
Второй и третий вариант идентичны.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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