Outer Join (IS NULL)
Net als met de Left en Right Join kan je ook met de Outer Join alleen de gegevens selecteren die niet in beide tabellen voorkomen. Het werkt op ongeveer dezelfde manier, alleen moet je in de WHERE niet 1 kolom uit een tabel controleren, maar kolommen uit beide tabellen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
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
WHERE
m.id IS NULL
OR
ma.movie_id IS NULL
m.id,
m.title,
ma.actor_id
FROM
movie_actors AS ma
FULL OUTER JOIN
movies AS m
ON
m.id = ma.movie_id
WHERE
m.id IS NULL
OR
ma.movie_id IS NULL
Het resultaat is dan:
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: NOT NULL” worden geselecteerd.
« vorige pagina | volgende pagina »
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