2012-04-05 2 views
0

У меня есть следующий MySQL оператор запроса:Правильный синтаксис для того, MySQL INNER JOIN ON (Basic Q)

SELECT * 
FROM table1 INNER JOIN table2 
    ON table1.id = table2.id 
WHERE 1 

Имеет ли значение, если мое внутреннее соединение на утверждение table1.id = table2.id против table2.id = table1.id?

+1

Нет, это не так. –

+0

Спасибо @ypercube. Я так не думал, но просто хотел узнать, есть ли что-то, что я могу пропустить, когда-нибудь по дороге вызовет мой запрос, который не будет выполняться, как я его сейчас разрабатываю. –

+0

и ... спасибо за диск с пониженным голосом. Я люблю его, когда тебя наказывают за то, что он хочет учиться. Мысль это была одна из вещей С.О. был для ... –

ответ

2

Не существует функциональной или разницы в производительности между двумя предложенными вами вариантами.

Это чисто стильный выбор.

Лично я предпочитаю этот стиль, но я уверен, что есть и другие, которые делают это по-разному:

SELECT ... 
FROM table1 
INNER JOIN table2 ON table2.id = table1.id 
INNER JOIN table3 ON table3.id = table1.id 
WHERE ... 
+0

Спасибо @IkeWalker. Оцените подтверждение отсутствия синтаксической разницы. И я согласен с вами - я предпочитаю заказывать инструкцию 'ON' так, как вы показываете выше, как (для меня) ее легче читать и кажется более логичным в ее потоке. –