bij gebruik van de ANSI SQL-92
syntaxis, de ON
trefwoord maakt deel uit van de join behalve de cross join
omdat je geen voorwaarde hebt voor de relatie.
bijv.
INNER JOIN
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
CROSS JOIN
SELECT *
FROM tableA CROSS JOIN tableB
ON
moet worden gevolgd na de samengevoegde tabel (voegt samen als INNER en OUTER ) zodat u geen syntaxisfout krijgt. maar als u de ANSI SQL-89
. gebruikt syntaxis, ON
trefwoord is weggelaten, maar u moet de relatie specificeren op de where clause
bijv.
INNER JOIN
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
CROSS JOIN
SELECT *
FROM tableA, tableB
het is gevoelig voor fouten, want als u de voorwaarde vergeet, genereert het geen syntaxisfout en zal het waarschijnlijk de cross join
doen