SQL: Gegevens uit meerdere tabellen combineren

Zoals in mijn vorige post over SQl en het group by statement beloofd, wijd ik nu nog wat verder uit over het combineren van informatie uit meerdere tabellen in je query.

Waarom dat nuttig kan zijn, ligt natuurlijk voor de hand. In een goed ingerichte database, wordt data vastgelegd in verschillende tabellen. De informatie die je query moet teruggeven zal dan ook vaak afkomstig zijn uit meer dan een tabel.

Laten we een voorbeeld nemen, waarbij we even teruggrijpen op mijn vorige post. We hebben dit keer te maken met twee tabellen. Ook hier hebben we te maken met de tabel ‘city’  tabel, die informatie bevat over landen, haar provincies. Daarnaast halen we dit keer informatie op uit de tabel ‘Country’. Hierin ligt informatie aangaande verschillende landen vast.

Zoals je ziet ligt in beide tabellen informatie over het land vast. In de tabel city vinden we namelijk de CountryCode. Deze hebben we in de vorige post ook gebruikt in onder andere het volgende stukje SQL waarmee informatie wordt opgehaald over het aantal inwoners in de provinciesteden van een land.

Nadeel van deze query is dat de CountryCode natuurlijk lang niet voor iedereen duidelijkheid geeft over het bedoelde land. Zoals je hierboven ziet vinden we in de tabel Country zowel de CountryCode als de volledige naam van het land. We gaan dus informatie uit beide tabellen ophalen om zo het resultaat van de query duidelijker te maken.

Het resultaat van de query geeft nu netjes een naam van het land terug. We zo duidelijk. Merk op dat in de SQL de tabellen en kolommen van een alias voorzien zijn. Het alias ‘c’ verwijst naar de city tabel. Het alias ‘u’ naar de tabel Country. Het gebruik van een alias is niet verplicht. Echter wel zo overzichtelijk en wanneer je verschillende tabellen hebt die kolommen bevatten met eenzelfde naam zelfs noodzakelijk.

Goed, het resultaat van de query. Dat ziet er nu alsvolgt uit.

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*