I de fleste tilfeller består databaser av tusenvis til millioner av poster i en tabell. Det kan være skremmende å gjennomgå alle postene manuelt når du utfører spørsmål.
Derfor må du bruke forskjellige klausuler i SQL, for eksempel betingede utsagn, mønster-matchende funksjoner, operatører osv. Selv da kan du ende opp med mange poster for å sortere gjennom.
Vi kan bruke grensefunksjonaliteten i SQL og andre SQL-lignende dialekter for ytterligere å begrense antallet rader som returneres fra en gitt spørring.
Dette innlegget vil diskutere et kort format for å begrense antall poster som er returnert fra et gitt Oracle Query. Husk at det ikke er noen begrensningsklausul i Oracle -databasen, som du vil finne i andre databaser som MySQL, PostgreSQL osv.
Oracle Rownum
For at vi skal implementere en grense-lignende klausul, skal vi bruke Rownum-funksjonen i SQL. Denne funksjonen returnerer antall rader i et gitt resultat.
La oss utforske hvordan vi kan bruke denne funksjonen.
Eksempelbruk
Anta at vi har en tabell med ansattes informasjon, som vist på bildet nedenfor:
Problem
Anta at vi ønsker å hente de fem første kolonnene fra tabellen over og ignorere resten?
Løsning
Vi kan bruke et underspørs som vist i utdraget nedenfor:
plukke ut *I spørringen over definerer vi en undervisning ved å bruke FRA -leddet. Deretter henter subquery målkolonnene og sorterer radene i stigende rekkefølge basert på ansatt_id.
Til slutt definerer vi en betinget uttalelse som sikrer at det returnerte antall rader er mindre enn eller lik 5. Dette tvinger antall poster fra spørringen for å stoppe klokka fem.
Et eksempelutgang er som vist:
Husk at bruk av subquery sikrer at radene er sortert i stigende eller synkende rekkefølge. Så for eksempel, hvis du ønsker å hente fem tilfeldige rader, løp:
Velg Employee_ID, First_name, Last_name, LønnProduksjon:
Fra utgangen ovenfor kan det hende du ikke legger merke til forskjellen. Å kjøre spørringen uten ordre etter klausul i usorterte data vil imidlertid resultere i et tilfeldig sett med verdier.
Konklusjon
Denne korte, men verdifulle opplæringen utforsket implementering av begrensningsklausulen i Oracle -databasen ved å bruke Rownum -verdien.