při použití ANSI SQL-92
syntaxe, ON
klíčové slovo je součástí spojení kromě cross join
protože pro vztah nemáte podmínku.
např.
INNER JOIN
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
CROSS PŘIPOJENÍ
SELECT *
FROM tableA CROSS JOIN tableB
ON
by měly následovat po spojené tabulce (spojení jako INNER a OUTER ), takže nebudete mít chybu syntaxe. ale pokud používáte ANSI SQL-89
syntaxe, ON
klíčové slovo je vynecháno, ale musíte určit vztah v where clause
např.
INNER JOIN
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
CROSS PŘIPOJENÍ
SELECT *
FROM tableA, tableB
je náchylný k chybám, protože pokud zapomenete podmínku, nevygeneruje chybu syntaxe a pravděpodobně provede cross join