Denne artikkelen vil se på å bruke grensen og forskjøvet klausuler i SQL.
MERK: Det er godt å huske at SQL -grensen og forskyvningsklausulene ikke er en del av ANSI SQL -standarden. Imidlertid er det mye vedtatt av store databasemotorer.
Syntaks
Syntaksen for grensen og forskjøvene er som vist nedenfor:
PLUKKE UTGrenseverdien vil avgjøre antall rader/poster som er returnert fra spørringen.
Offsetverdien lar deg hoppe over spesifikke rader før du begynner å hente for matchende poster.
MERK: Forskyvningsverdien er ikke nødvendig. Hvis det mangler, vil spørringen hente poster fra første rad.
Eksempel
Anta at du har en eksempeltabell og data som vist i spørringen nedenfor:
Du kan se alle postene i tabellen ved hjelp av SELECT -spørringen som vist:
Velg * fra ansatte;Dette skal returnere alle radene som vist:
Anta at vi vil ha de tre første postene. For det kan vi bruke grenseklausulen som:
Velg * fra ansatte grense 3;Ovennevnte spørring skal returnere de tre første radene fra 1. Utgangen er som vist:
Hva om du vil hente følgende tre elementer? Vi kan bruke grensen og forskyvningsklausulen som illustrert nedenfor:
Velg * fra ansatte begrenser 3 Offset 3;Spørringen over vil returnere tre elementer fra den fjerde raden (inkluderende). Hvis du har en ID for radene dine, bør utgangen være beskrivende som vist:
Avslutte
Som illustrert i denne artikkelen, er grensen og forskyvningsklausuler en sikkerhetsfunksjon som forhindrer deg i å hente tusenvis, om ikke millioner, av poster i en enkelt spørring. Derfor er det bra å bruke denne funksjonen for enkel paginering og ganske produksjon.