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
enbestellingen
. DeWHERE
combineert de gegevens op basis van overeenkomendeklant_id
-kolommen in beide tabellen.
Maar één
WHERE
mogelijkJe mag maar één
WHERE
opdracht gebruiken. Als je er meerdere zou nodig hebben moet je éénWHERE
gebruiken in combinatie metAND
.
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.