sql >> Databasteknik >  >> RDS >> Mysql

Varför rapporterar MySQL ett syntaxfel vid FULL OUTER JOIN?

Det finns ingen FULL OUTER JOIN i MySQL. Se 7.2.12. Förenkling av yttre fog och 12.2.8.1. GÅ MED Syntax :

Du kan emulera FULL OUTER JOIN använder UNION (från MySQL 4.0.0):

med två tabeller t1, t2:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

med tre tabeller t1, t2, t3:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
RIGHT JOIN t3 ON t2.id = t3.id


  1. SQL NOT Operator

  2. Oracle får främmande nycklar

  3. Ställer in application_name på Postgres/SQLAlchemy

  4. Hur man exporterar resultaten av en fråga med MySQL Workbench