Sök…


Introduktion

I SQL returnerar SELECT uttalanden uppsättningar av resultat från datasamlingar som tabeller eller vyer. SELECT uttalanden kan användas med olika andra klausuler som WHERE , GROUP BY eller ORDER BY att ytterligare förfina de önskade resultaten.

Grundläggande VÄLJ från tabellen

Välj alla kolumner från någon tabell (systemtabell i detta fall):

SELECT *
FROM sys.objects

Eller välj bara några specifika kolumner:

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

Filtrera rader med WHERE-klausulen

VAR klausul filtrerar endast de rader som uppfyller vissa villkor:

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

Sortera resultat med ORDER BY

ORDER BY-klausul sorterar rader i det returnerade resultatet som är inställt av någon kolumn eller uttryck:

SELECT *
FROM sys.objects
ORDER BY create_date

Gruppresultat med GROUP BY

GRUPP AV klausul grupperar rader med något värde:

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

Du kan tillämpa någon funktion på varje grupp (aggregerad funktion) för att beräkna summan eller räkningen av poster i gruppen.

typ c
SQ 3
S 72
DEN 16
PK 1
U 5

Filtrera grupper med HAVING-klausul

HAVING-klausul tar bort grupper som inte uppfyller villkoret:

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

Återvänd endast de första N-raderna

TOP-klausulen returnerar endast de första N-raderna i resultatet:

SELECT TOP 10 *
FROM sys.objects

Pagination med OFFSET FETCH

OFFSET FETCH-klausulen är en mer avancerad version av TOP. Det gör att du kan hoppa över N1-rader och ta nästa N2-rader:

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

Du kan använda OFFSET utan att hämta för att bara hoppa över de första 50 raderna:

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

VÄLJ utan FÅR (ingen data souce)

SELECT-uttalande kan köras utan FROM-klausul:

declare @var int = 17;

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

I detta fall returneras en rad med värden / resultat av uttryck.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow