när du använder ANSI SQL-92
syntax, ON
nyckelordet är en del av kopplingen förutom cross join
eftersom du inte har ett villkor för förhållandet.
ex.
INRE JOIN
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
KORS-GÅ MED
SELECT *
FROM tableA CROSS JOIN tableB
ON
bör följas efter den sammanfogade tabellen (anslutningar som INNER och OUTER ) så att du inte får syntaxfel. men om du använder ANSI SQL-89
syntax, ON
nyckelordet utelämnas men du måste ange relationen på where clause
ex.
INRE JOIN
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
KORS-GÅ MED
SELECT *
FROM tableA, tableB
det är benäget att få fel eftersom om du glömmer villkoret kommer det inte att generera syntaxfel och kommer sannolikt att göra cross join