Zoeken in meerdere tabellen

Er zijn twee manieren om te zoeken in meerdere tabellen. INNER JOIN en WHERE. Hier zullen we focussen op WHERE.

SELECT kolom1, kolom2, 
FROM tabel1, tabel2
WHERE tabel1.koloma = tabel2.kolomb;

Vermeld bij FROM alle tabellen die nodig zijn om de gevraagde gegevens op te halen uit de databank. Vermeld bij WHERE op welke manier ze aan elkaar gekoppeld zijn.

Voorbeeld

SELECT klanten.naam, bestellingen.productnaam
FROM klanten, bestellingen
WHERE klanten.klant_id = bestellingen.klant_id;

Deze query selecteert de namen van klanten en de namen van producten uit de tabellen klanten en bestellingen. De WHERE combineert de gegevens op basis van overeenkomende klant_id-kolommen in beide tabellen.

Maar één WHERE mogelijk

Je mag maar één WHERE opdracht gebruiken. Als je er meerdere zou nodig hebben moet je één WHERE gebruiken in combinatie met AND.

Wat bij gelijknamige kolommen?

Als er meerdere tabellen zijn met dezelfde kolomnaam moet je voor die kolomnaam de tabel vermelden met een punt tussen beide. Het is niet fout als je dat voor alle kolommen zou doen voor de duidelijkheid, maar bij dezelfde kolomnamen moet het dus.

SELECT tabel1.kolom1, tabel2.kolom2,  
FROM tabel1, tabel2
WHERE  ;

Deze lessenreeks en Dodona werden ontwikkeld aan de Universiteit Gent (UGent) en worden gratis ter beschikking gesteld voor niet-commerciële educatieve doeleinden.