sql >> Database teknologi >  >> RDS >> Mysql

Er der en grund til, at MySQL ikke understøtter FULD OUTER JOINS?

MySQL mangler en masse funktionalitet, som andre databaser har*. Jeg tror, ​​de har et ret stort efterslæb af ideer og ikke nok udviklere til at implementere dem alle.

Denne funktion blev anmodet i 2006 og er stadig ikke implementeret. Jeg gætter på, at det har lav prioritet, fordi du kan omgå det ved at kombinere LEFT og RIGHT OUTER JOIN med en UNION ALL. Ikke behageligt, men det gør tricket. Skift dette:

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

til dette:

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

* For at være retfærdig over for MySQL har de også nogle funktioner, som mange andre databaser ikke har.



  1. Mysql brugerdefineret rækkefølge efter og alfabetisk rækkefølge efter:

  2. Hvordan kan jeg få procentdelen af ​​de samlede rækker med mysql for en gruppe?

  3. Postgres:Distinkt, men kun for én kolonne

  4. Hvordan kaster jeg char til heltal, mens jeg forespørger i django ORM?