Zoeken…


Invoering

In SQL retourneren SELECT instructies sets resultaten uit gegevensverzamelingen zoals tabellen of weergaven. SELECT instructies kunnen worden gebruikt met verschillende andere clausules zoals WHERE , GROUP BY of ORDER BY om de gewenste resultaten verder te verfijnen.

Basic SELECT uit tabel

Selecteer alle kolommen uit een tabel (in dit geval systeemtabel):

SELECT *
FROM sys.objects

Of selecteer slechts enkele specifieke kolommen:

SELECT object_id, name, type, create_date
FROM sys.objects

Filter rijen met de WHERE-component

WAAR clausule filtert alleen die rijen die aan een voorwaarde voldoen:

SELECT *
FROM sys.objects
WHERE type = 'IT'

Sorteer resultaten met BESTELLEN OP

ORDER BY-clausule sorteert rijen in het geretourneerde resultaat ingesteld door een kolom of expressie:

SELECT *
FROM sys.objects
ORDER BY create_date

Groepsresultaat met GROUP BY

GROUP BY-component groepeert rijen op een bepaalde waarde:

SELECT type, count(*) as c
FROM sys.objects
GROUP BY type

U kunt een functie op elke groep toepassen (aggregatiefunctie) om de som of het aantal van de records in de groep te berekenen.

type c
SQ 3
S 72
HET 16
PK 1
U 5

Filter groepen met de clausule HAVING

HAVING-clausule verwijdert groepen die niet aan de voorwaarde voldoen:

SELECT type, count(*) as c
FROM sys.objects
GROUP BY type
HAVING count(*) < 10
type c
SQ 3
PK 1
U 5

Retourneert alleen de eerste N rijen

TOP-clausule retourneert alleen de eerste N rijen in het resultaat:

SELECT TOP 10 *
FROM sys.objects

Paginering met OFFSET FETCH

OFFSET FETCH-clausule is een meer geavanceerde versie van TOP. Hiermee kunt u N1-rijen overslaan en de volgende N2-rijen nemen:

SELECT *
FROM sys.objects
ORDER BY object_id
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY

U kunt OFFSET zonder ophalen gebruiken om de eerste 50 rijen over te slaan:

SELECT *
FROM sys.objects
ORDER BY object_id
OFFSET 50 ROWS

SELECTEER zonder FROM (geen data souce)

SELECT-instructie kan worden uitgevoerd zonder clausule FROM:

declare @var int = 17;

SELECT @var as c1, @var + 2 as c2, 'third' as c3 

In dit geval wordt één rij met waarden / resultaten van expressies geretourneerd.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow