sql >> Database >  >> RDS >> Mysql

Efficiënte manier om volledige outer join in MySQL te simuleren?

U kunt een LEFT JOIN en een RIGHT JOIN gebruiken:

SELECT * FROM tableA LEFT JOIN tableB ON tableA.b_id = tableB.id
UNION ALL
SELECT * FROM tableA RIGHT JOIN tableB ON tableA.b_id = tableB.id
WHERE tableA.b_id IS NULL

Er is ook wat informatie op Wikipedia over dit onderwerp:Volledige outer join .

Het Wikipedia-artikel suggereert het gebruik van een UNION in MySQL. Dit is iets langzamer dan UNION ALL, maar wat nog belangrijker is, het geeft niet altijd het juiste resultaat - het zal dubbele rijen uit de uitvoer verwijderen. Gebruik hier dus liever UNION ALL in plaats van UNION.




  1. Op maat gemaakte statistieken

  2. Wat doet pg_escape_string precies?

  3. RazorSQL verbinden met Salesforce.com

  4. Rails-migratie:Bigint op PostgreSQL lijkt te falen?