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)
2
3
4
5
6
7
8
9
10
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:
2
3
4
5
6
7
8
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.
Inhoudsopgave
- Inleiding
- Tabelopbouw
- Inner Join
- Left Join
- Left Join (IS NULL)
- Right Join
- Right Join (IS NULL)
- Outer Join
- Outer Join (IS NULL)
- Multiple Joins
- Tabel met zichzelf Joinen
- Tot slot