sql >> Database >  >> RDS >> Mysql

Is er een reden waarom MySQL geen FULL OUTER JOINS ondersteunt?

MySQL mist veel functionaliteit die andere databases wel hebben*. Ik denk dat ze een behoorlijk grote achterstand aan ideeën hebben en niet genoeg ontwikkelaars om ze allemaal te implementeren.

Deze functie is aangevraagd in 2006 en is nog steeds niet uitgevoerd. Ik denk dat het een lage prioriteit heeft omdat je er omheen kunt werken door LEFT en RIGHT OUTER JOIN te combineren met een UNION ALL. Niet prettig, maar het werkt wel. Wijzig dit:

SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.table2_id = table2.id

naar dit:

SELECT *
FROM table1
LEFT JOIN table2
ON table1.table2_id = table2.id
UNION ALL
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.table2_id = table2.id
WHERE table1.table2_id IS NULL

* Om eerlijk te zijn tegenover MySQL hebben ze ook enkele functies die veel andere databases niet hebben.



  1. Hoe te upgraden van MariaDB 10.4 naar MariaDB 10.5

  2. Logcat zegt ongeldige kolomgegevens1

  3. Tabel en kolom ophalen die een reeks bezitten

  4. mysqlworkbench geeft een versiefout bij het exporteren van de database