Select (SQL)
Een SELECT
-opdracht in SQL geeft een verzameling rijen of records terug uit één of meer tabellen van een databank.
Het resultaat van een SELECT
-opdracht is dus een nieuwe (zij het virtuele, d.w.z. niet fysisch opgeslagen) tabel.
De opdracht wordt gebruikt om een query uit te voeren die nul of meer rijen ophaalt door data uit één of meer tabellen van een databank te raadplegen en mogelijk te converteren of zelfs samen te vatten. In de meeste toepassingen is SELECT
het meest gebruikte Data Manipulation Language-commando (DML) van SQL.
Bij SELECT
kan je meestal de volgende sleutelwoorden gebruiken:
FROM
– het enige syntactisch verplichte sleutelwoord; om aan te geven welke tabel of tabellen ondervraagd wordt/worden.WHERE
– gebruikt om op te geven welke rijen moeten worden opgehaald door middel van één of meerdere criteria.GROUP BY
– gebruikt om rijen (met dezelfde waarde in de opgegeven expressie) samen te brengen in een kleinere groep rijen.HAVING
– gebruikt samen metGROUP BY
om te bepalen welke groepen opgehaald moeten worden.ORDER BY
– gebruikt om de expressie(s) op te geven op basis waarvan de resultaatgegevens gesorteerd moeten worden.INTO
– gebruikt om de rijen te kopiëren naar een nieuw aan te maken tabel of naar één of meerdere variabelen.
Voorbeelden
Tabel "T" | Query | Resultaat | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
SELECT * FROM T;
|
| ||||||||||||
|
SELECT C1 FROM T;
|
| ||||||||||||
|
SELECT * FROM T WHERE C1 = 1;
|
|
Gegeven een tabel T zal de query SELECT * FROM T;
alle rijen en alle velden ophalen uit de tabel.
De query SELECT C1 FROM T;
zal alleen de kolom C1 ophalen en daarvan alle rijen tonen — in relationele algebra noemt men dit een projectie.
De query SELECT * FROM T WHERE C1 = 1;
zal alle kolommen ophalen en alle rijen waarvan de waarde van de kolom C1 gelijk is aan '1' — in relationele algebra heet dit een selectie.
SELECT * INTO nieuwetabel FROM T;
zal een nieuwe tabel "nieuwetabel" aanmaken en alle rijen van T daarin plaatsen.