Outer Join

De Full Outer Join (ook wel gewoon “Outer Join”) werkt helaast niet “gewoon” in MySQL. Normaal gesproken krijg je alle mogelijke resultaten terug die er zijn, waarbij de lege waarden (net als bij de Left en Right Join) worden ingevuld met “NULL”. De Outer Join is eigenlijk een combinatie van de Left en Right Join. Hij werkt namelijk beide kanten op.

De query ziet er dan uit als onderstaande (werkt dus niet in MySQL en het gaat te ver om de mogelijke workaround hiervoor in deze tutorial te behandelen)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT
   m.id,
   m.title,
   ma.actor_id
FROM
   movie_actors AS ma
FULL OUTER JOIN
   movies AS m
ON
   m.id = ma.movie_id


Het resultaat is dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
1    Eduard Schaarhand        1
1    Eduard Schaarhand        3
2    Tombe rijder            4
2    Tombe rijder            1
3    Zeven jaar in de bergen        3
3    Zeven jaar in de bergen        2
4    Caribische piraten        [i]NULL[/i]
NULL    NULL                5           (fictief!!!)


Omdat het hier een koppeling met een koppeltabel betreft zal een filmtitel nooit “NULL” zijn. Ik denk dat je uit het resultaat (let op, de laatste rij is fictief) wel kan zien wat er precies gebeurt.

Hieronder is schematisch aangegeven welke gegevens met de “Outer Join” worden geselecteerd.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Tabelopbouw
  3. Inner Join
  4. Left Join
  5. Left Join (IS NULL)
  6. Right Join
  7. Right Join (IS NULL)
  8. Outer Join
  9. Outer Join (IS NULL)
  10. Multiple Joins
  11. Tabel met zichzelf Joinen
  12. Tot slot

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.