Select (SQL)

Uit Wikipedia, de vrije encyclopedie

Een SELECT-opdracht in SQL geeft een verzameling rijen of records terug uit één of meer tabellen van een database. Het resultaat van een SELECT-opdracht is dus een nieuwe (zij het virtuele, dat wil zeggen niet fysiek 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 database 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.

Sleutelwoorden[bewerken | brontekst bewerken]

Bij SELECT kunnen meestal de volgende sleutelwoorden worden gebruikt:

  • 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 met GROUP 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.

SELECT-syntaxis[bewerken | brontekst bewerken]

 SELECT column_name(s)
 FROM table_name

en

 SELECT * FROM table_name

De asterisk (*) wordt gebruikt om snel alle kolommen te selecteren.[1]

CTE[bewerken | brontekst bewerken]

Common Table Expressions kunnen sinds de SQL-standaard 1999 via het sleutelwoord WITH worden toegevoegd voorafgaand aan een SELECT-opdracht.

Voorbeelden[bewerken | brontekst bewerken]

Vb. Tabel "T" Query Resultaat
1 >
K1 K2
1 a
2 b
SELECT * FROM T
K1 K2
1 a
2 b
2 >
K1 K2
1 a
2 b
SELECT K1 FROM T
K1
1
2
3 >
K1 K2
1 a
2 b
SELECT * FROM T WHERE K1 ='1'
K1 K2
1 a

Voorbeeld 1:

Gegeven een tabel T zal de query SELECT * FROM T zal alle kolommen, rijen en velden ophalen uit de tabel.

Voorbeeld 2:

De query SELECT K1 FROM T zal alleen de kolom K1 ophalen en daarvan alle rijen tonen — in relationele algebra noemt men dit een projectie.

Voorbeeld 3:

De query SELECT * FROM T WHERE K1 ='1' zal alle kolommen en alle rijen ophalen waarvan de waarde van de kolom K1 gelijk is aan '1' — in relationele algebra heet dit een selectie.

Voorbeeld 4:

 SELECT * INTO nieuwetabel FROM T

zal een nieuwe tabel "nieuwetabel" aanmaken en alle rijen van T daarin plaatsen.

Join[bewerken | brontekst bewerken]

Zie Join (SQL) voor het hoofdartikel over dit onderwerp.

In een SELECT-opdracht kunnen ook twee tabellen samengevoegd worden. Dit gaat door middel van een JOIN. Er zijn twee soorten joins, een inner-join en een outer-join. Een outer-join kan op zijn beurt weer left, right of full zijn.

Voorbeeld:

 SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.veld = tabel2.veld

Zie ook[bewerken | brontekst bewerken]