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.