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