MySQL -begrensningsresultater returnert med grense

MySQL -begrensningsresultater returnert med grense
Du treffer til slutt scenen der datavolumet øker sterkt når vi begynner å håndtere DBM -er som MySQL. Det er vanskelig for oss å administrere og bruke. MySQL har innebygde funksjoner som gjør det enkelt å håndtere. I MySQL brukes begrensningsklausulen for å kutte ned antall rader i hele resultatsettet ved hjelp av Select Expression. Vi vil oppdage hvordan du bruker MySQL -begrensningsklausulen i denne guiden for å begrense antall rader som en spørring returnerer.

Begrens syntaks:

>> Velg uttrykk fra tabellgrenseforskyvning, rader;

Her er forklaringen på grensespørsmålet:

  • Uttrykk: Kan være et kolonnenavn eller sterisk '*'.
  • Offset: Offset bestemmer forskyvningen som skal returneres fra første rad. Hvis du bruker 0 som forskyvning, vil den returnere rad 1 og omvendt.
  • Rader: De totale radene som skal returneres.

Åpne kommandolinjeskallet til mysql og skriv passordet. Trykk Enter for å fortsette.

Anta at du har et bord som heter 'lærer' i MySQL -databasen, som vist nedenfor. Hvis du vil hente alle postene eller radene i denne tabellen uten noen begrensning, vil du gjøre det ved å bruke den enkle valgte spørringen som følger:

>> Velg * fra data.lærer;

Eksempel 01: bare begrenset radnummer:

Hvis en bruker ønsker å hente noen poster mens han begrenser antall rader, kan han/hun gjøre det ved å bruke den enkle begrensningsklausulen i SELECT -setningen. La oss prøve et eksempel mens vi bruker tabellen ovenfor. Anta at du bare vil vise 6 rader fra tabellen ovenfor mens du viser radene etter den synkende rekkefølgen på en kolonne TeachName. Prøv følgende spørsmål:

>> Velg * fra data.Lærerordre av TeachName Desc Limit 6;

Eksempel 02: Begrens med forskyvning og radnummer:

La oss prøve den samme tabellen for å definere forskyvning ved siden av radnummeret. Anta at du må hente bare 6 poster fra bordet mens posten som returneres, må starte fra 6th Rad i et bord. Prøv den etterfølgende spørringen:

>> Velg * fra data.Lærer Desc Limit 6, 6;

Eksempel 03: Begrens med hvor klausul:

Anta at tabellen 'samme' ligger i MySQL -databasen. Hent hele tabellen mens du sorterer den i stigende rekkefølge av kolonne 'ID' ved å bruke SELECT -kommandoen sammen med rekkefølge etter som følger:

>> Velg * fra data.Samme ordre etter ID ASC;

Prøver den uttalte spørringen, vil vi ha tilfeldige tre poster i alderen mellom 12 og 34 år fra en hvilken som helst tilfeldig plassering av tabellen. Mens vi er i tabellen ovenfor, har vi mer enn 6 rekorder av aldersgruppe mellom 12 og 34.

>> Velg * fra data.samme der alder> '12' og alder < '34' LIMIT 3;

Når vi bruker ordren etter klausul i spørringen uten å oppgi ordrentypen, vil den automatisk hente posten i stigende rekkefølge som nedenfor.

>> Velg * fra data.samme der alder> '12' og alder < '34' ORDER BY age LIMIT 3;

For å hente en begrenset rekord i en annen sorteringsrekkefølge, må du definere sorteringsrekkefølgen. Når vi henter 8-radsdata ved å bruke den synkende rekkefølgen på kolonnen 'alder'.

>> Velg * fra data.samme der alder> '12' og alder < '34' ORDER BY age DESC LIMIT 8;

La oss hente bare to rader der kjæledyrnavnet er 'hund'. Ved utførelse har vi bare et resultat fordi '=' -tegnet søkte etter det nøyaktige mønsteret, og vi har bare 1 oversikt over mønsteret.

>> Velg * fra data.Samme der PET = 'Dog' ordre etter ID -grense 2;

Eksempel 04: Begrens med lignende klausul og det er jokertegn:

Vi søkte etter mønsteret 'hund' og fikk bare 1 resultat. Mens vi har mer enn 1 oversikt over 'hund' i tabellen. Nå vil vi hente disse postene ved å bruke lignende leddet sammen med grenseklausulen. For å vise de eneste 5 postene i tabellen der kjæledyrnavnet starter fra 'D', prøv spørringen nedenfor. Siden vi bare har 2 poster for mønster 'hund', er det derfor vi bare har 2.

>> Velg * fra data.Samme der Pet liker 'D%' ordre etter ID -grense 5;

La oss hente bare 10 poster fra bordet, der kjæledyret må ha 'r' på et hvilket som helst midtsted for navnet. Ettersom vi har hest, papegøye og kanin i kjæledyrene som har 'r' i navnet sitt, er det derfor vi bare har fått 4 poster fra denne spørringen.

>> Velg * fra data.Samme der PET som '%R%' ordre etter ID -grense 10;

For å få 6 poster over tabellen, der kjæledyrnavnet må ha 'T' på slutten, kjør den uttalte spørringen i SQL-kommandolinjeskallet. Her har vi 4 poster fra denne spørringen.

>> Velg * fra data.Samme der PET som '%t' ordre etter ID -grense 6;

For å få 8 poster over tabellen, der en persons jobb må ha 'er' på slutten, kjører spørringen nedenfor i skallet. Her har vi fått 6 poster fra denne spørringen.

>> Velg * fra data.Samme der Job som '%er' ordre etter ASC -grense 8;

La oss endre hvor leddet sammen med lignende setning i SELECT -spørringen. Anta at du vil hente en 6-rads rekord fra bordet 'samme'. Du har prøvd en betingelse for å hente de eneste postene der 'fname' må ha 'a' på den siste av verdien, og 'lname' må ha 'a' på et hvilket som helst midtsted for verdien. På den annen side må dataene sorteres etter kolonnen 'Age' synkende rekkefølge. For å få disse 6 postene, kjør den under-uttalte spørringen i SQL-kommandolinjeskallet. Vi har 5 poster for denne tilstanden, og resultatet vises nedenfor.

>> Velg * fra data.Samme der fname som '%a' og lname som '%a%' ordre etter alder DESC -grense 5;

Konklusjon:

Jeg håper du er fullt forberedt på Limt -emnet etter å ha prøvd nesten alle eksemplene for begrensningsklausulen sammen med medlemmene, e.g., Offset og radnummer.