В MySQL пише JOIN неквалифицирано означава INNER JOIN . С други думи INNER в INNER JOIN е по избор. INNER и CROSS са синоними в MySQL. За по-голяма яснота пиша JOIN или INNER JOIN ако имам условие за присъединяване и CROSS JOIN ако нямам състояние.
Разрешеният синтаксис за присъединяване е описан в документацията .
Ефектът е същият, но историята зад тях е различна. Синтаксисът на запетаята е от стандарта ANSI-89. Въпреки това има редица проблеми с този синтаксис, така че в стандарта ANSI-92 беше въведена ключовата дума JOIN.
Горещо ви препоръчвам давинагите използвайте синтаксис JOIN, а не запетая.
T1 JOIN T2 ON ...е по-четим отT1, T2 WHERE ....- Той е по-поддържаем, защото връзките на таблицата и филтрите са ясно дефинирани, а не смесени заедно.
- Синтаксисът JOIN е по-лесен за преобразуване във OUTER JOIN, отколкото синтаксисът на запетаята.
- Смесването на синтаксиса на запетая и JOIN в едно и също изявление може да доведе до любопитни грешки поради правилата за приоритет.
- По-малко вероятно е случайно да се създаде декартов продукт при използване на синтаксиса JOIN поради забравена клауза за присъединяване, тъй като клаузите за присъединяване са написани до присъединяванията и е лесно да се види дали липсва такава.