SELECT <kolommen uit A of uit B>
FROM A
RIGHT JOIN B
-- opnieuw: schrijfwijze hangt af van waar foreign key staat
ON A.B_Id = B.Id
Venn diagram right join
Als ik de tabellen in de select statement switch en Boeken links en Personen rechts zet, gaat Simone de Beauvoir getoond worden?
SELECT Personen.Voornaam, Personen.Familienaam,
COALESCE (Boeken.Titel, 'Geen boek opgenomen in Boeken')
FROM Boeken
LEFT JOIN Personen on Boeken.Personen_Id = Personen.Id
ORDER BY Personen.Familienaam, Personen.Voornaam, Boeken.Titel;
Geen Simone de Beauvoir te zien. Hoe kan ik Simone tonen (zonder de volgorde opnieuw te switchen naar het origineel):
Door een RIGHT JOIN:
SELECT Personen.Voornaam, Personen.Familienaam,
COALESCE (Boeken.Titel, 'Geen boek opgenomen in Boeken')
FROM Boeken
RIGHT JOIN Personen ON Boeken.Personen_Id = Personen.Id
ORDER BY Personen.Familienaam, Personen.Voornaam, Boeken.Titel;
Simone De Beauvoir wordt getoond en de coalesce functie doet haar werk:
Hier merk je wel dat de derde kolomhoofding niet elegant is. Je kan die zelf opgeven in het select statement door een alias mee te geven:
SELECT Personen.Voornaam, Personen.Familienaam,
COALESCE (Boeken.Titel, 'Geen boek opgenomen in Boeken')
AS 'Titel van het boek'
FROM Boeken
RIGHT JOIN Personen ON Boeken.Personen_Id = Personen.Id
ORDER BY Personen.Familienaam, Personen.Voornaam, Boeken.Titel;
right join met coalesce Boeken Personen Simone De Beauvoir
right join met coalesce en kolomtitel Boeken Personen Simone De Beauvoir