sql >> Databasteknik >  >> RDS >> Sqlserver

ON är en del av syntaxen

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



  1. skapa kolumn för auto-date i postgresql

  2. Hur bygger man trådade kommentarer med 1 eller 2 frågor?

  3. hur man hanterar ständigt föränderliga lösenord i sqlalchemy+psycopg2?

  4. Returnera operativsystemversionsinformation i SQL Server med vyn sys.dm_os_host_info Dynamic Management