Home » Gebruik SELECT om data uit je tabellen te halen

Gebruik SELECT om data uit je tabellen te halen

Met het SELECT statement is het mogelijk om records uit de database op te vragen.

In onze database bevinden zich allemaal tabellen waarin we gegevens hebben opgeslagen. Deze gegevens voegen we zelf toe of passen we tussentijds aan. We zijn over het algemeen niet geïnteresseerd in het verzamelen van al die gegevens. Eigenlijk willen we ze gebruiken op het moment dat het nodig is, bijvoorbeeld om er een overzicht van te tonen.

Om gegevens te gebruiken moeten we deze eerst ‘selecteren’ en dat doen we met een SELECT query. Zo’n query ziet er als volgt uit: Een SELECT query ziet er als volgt uit:

SELECT * FROM Tabelnaam

De * geeft aan dat alle kolommen opgehaald moeten worden. Het ophalen van alle kolommen is erg handig, maar het kan leiden tot performance problemen bij grote tabellen. Als bekend is welke kolommen gebruikt worden nadat de query is uitgevoerd, dan is het handiger om deze specifieker te selecteren.

advertentie

Specifieke kolommen selecteren

Naast het ophalen van alle kolommen is dus het ook mogelijk om specifieke kolommen te selecteren.

SELECT kolomnaam FROM Tabelnaam

En als je meerdere kolommen tegelijk wilt selecteren dan gebruik je een komma om te kolomnamen te scheiden.

SELECT kolomnaam1, kolomnaam2 FROM Tabelnaam

SELECT in de praktijk

De volgende dataset is de inhoud van de tabel Persoon.

id, voornaam, achternaam, woonplaats
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'

Als we alle kolommen willen ophalen dan kunnen we simpelweg de volgende query uitvoeren.

SELECT * FROM Persoon
id, voornaam, achternaam, woonplaats
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'

Als we alleen de voor, – en achternaam willen opvragen, dan kunnen we de * in de SELECT veranderen naar voornaam, achternaam

SELECT voornaam, achternaam FROM Persoon
voornaam, achternaam
'Henk', 'Janssen'
'Petra', 'de klomp'
'Sjoerd', 'Vermeulen'
'Mieke', 'Sterk'

SELECT DISTINCT

Bij het uitvoeren van een SELECT query worden de waarden van alle geselecteerde kolommen teruggeven. Het kan dus gebeuren dat bepaalde kolommen dubbele gegevens bevatten. Indien deze gegevens niet gewenst zijn kan er gekozen worden voor een SELECT DISTINCT query. Deze query zal alleen verschillende waarden teruggeven.

SELECT DISTINCT kolomnaam FROM Tabelnaam

SELECT DISTINCT in de praktijk

De volgende dataset is de inhoud van de tabel Persoon.

id, voornaam, achternaam, woonplaats
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'

We willen alle unieke woonplaatsen ophalen door middel van SELECT DISTINCT. Hiervoor kunnen we de volgende query gebruiken.

SELECT DISTINCT woonplaats FROM Persoon
Resultaat
'Utrecht'
'Amsterdam'
'Maastricht'

Stel dat we nu willen weten hoeveel unieke woonplaatsen er in onze database staan dan kunnen we gebruik maken van SELECT DISTINCT in combinatie met de COUNT functie. De volgende query zal 3 als resultaat geven.

SELECT COUNT(DISTINCT woonplaats) FROM Persoon

Kolommen aliassen met AS

Soms is het nodig om kolommen of tabellen tijdelijk een andere naam te geven. Deze tijdelijk naam wordt een alias genoemd. SQL heeft hiervoor de AS operator. De AS operator ziet er volgt uit.

SELECT kolomnaam AS kolom_alias FROM Tabelnaam AS tabel_alias

Het is niet verplicht om voor zowel de kolom als de tabelnaam een alias te gebruiken.

AS in de praktijk

De volgende dataset is de inhoud van de tabel Persoon.

id, voornaam, achternaam, woonplaats
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'

We willen de voornaam en de achternaam selecteren, alleen willen we roepnaam als alias voor de voornaam gebruiken.

SELECT voornaam AS roepnaam, achternaam FROM Persoon
id, roepnaam, achternaam
1, 'Henk', 'Janssen'
2, 'Petra', 'de klomp'
3, 'Sjoerd', 'Vermeulen'
4, 'Mieke', 'Sterk'

Gegevens limiteren

In alle voorbeelden hierboven halen we alle gegevens op, maar soms wil je juist een specifieke dataset ophalen. Je wilt dus een de gegevens limiteren op alleen hetgeen dat relevant is. Bijvoorbeeld alle gegevens van de afgelopen 24 uur.

Het limiteren van gegevens kunnen we doen door het gebruik van een WHERE statement.