Selectați primele 10 rânduri din SQL

Selectati Primele 10 Randuri Din Sql



Când lucrăm într-o bază de date SQL, este posibil să întâlnim situații în care trebuie să obținem un anumit subset de rânduri dintr-un tabel dat. Acest lucru ne permite să limităm resursele necesare pentru a prelua valorile din tabel.

Din fericire, în SQL, avem acces la clauza LIMIT care ne permite să controlăm numărul de rânduri care sunt returnate într-un anumit set de rezultate. Această caracteristică este foarte utilă atunci când avem de-a face cu un set mare de date și nu avem nevoie de fapt de întregul rând, ci de un subset al acestuia. Aceasta poate fi fie pentru a obține aspectul datelor, fie pentru prezentare.

În acest tutorial, vom afla cum putem folosi și lucra cu clauza LIMIT în bazele de date SQL pentru a specifica numărul de rânduri pe care dorim să le extragem din baza de date.







Cerințe:

Înainte de a ne aprofunda în funcționarea și utilizarea clauzei LIMIT în SQL, să discutăm câteva cerințe de bază pentru acest tutorial.



Pentru a urma această postare, veți avea nevoie de următoarele:



  1. MySQL 8.0 și versiunile superioare funcționează cu MySQL 5
  2. Acces la baza de date de mostre Sakila
  3. Permisiuni de a interoga rândurile din baza de date țintă (acces de citire)

Cu cerințele date îndeplinite, putem continua cu acest tutorial.





LIMITĂ SQL

În SQL, clauza LIMIT ne permite să restricționăm numărul de rânduri care sunt returnate de la o anumită interogare SQL. De exemplu, într-o instrucțiune select, în loc să returnăm toate rândurile din tabel care pot conține peste 1000 de înregistrări, putem alege să vedem doar primele 10 rânduri.

Următoarele arată sintaxa de bază a clauzei LIMIT în SQL:



SELECT col1, col2,...

FROM tbl_name

LIMIT num_rânduri;

În acest exemplu, folosim clauza LIMIT împreună cu instrucțiunea SELECT.

Din sintaxa dată, „tbl_name” reprezintă numele tabelului din care dorim să extragem datele.

„num_rows” ne permite să specificăm numărul maxim de rânduri care sunt returnate în setul de rezultate.

Exemplul 1: Limitați numărul de rânduri

Rolul cel mai comun și fundamental al clauzei LIMIT este de a seta numărul maxim de rânduri care sunt incluse în setul de rezultate.

Să presupunem că vrem să folosim tabelul „film” din baza de date de mostre Sakila. Cu toate acestea, deoarece nu dorim să preluăm toate rândurile asociate, putem selecta primele 10 rânduri așa cum se arată în următoarea clauză exemplu:

SELECT * FROM film

LIMITĂ 10 ;

Odată ce rulăm interogarea dată, ar trebui să obținem o ieșire după cum urmează:

  O captură de ecran a unui computer Descriere generată automat

În acest exemplu, folosim clauza LIMIT pentru a restricționa setul de rezultate la 10 rânduri. Aceasta preia primele 10 rânduri din rezultat.

Exemplul 2: Utilizarea valorii OFFSET

În unele cazuri, este posibil să dorim să sărim sau să omitem un anumit număr de rânduri. De exemplu, să presupunem că dorim să regăsim doar cinci elemente, dar dorim să începem de la poziția 20. Putem folosi parametrul OFFSET care ne permite să spunem clauzei LIMIT în ce poziție dorim să începem.

Acest lucru este util în special atunci când trebuie să implementați paginarea într-un set de date mare, așa cum se arată în exemplul următor:

SELECTează film_id, titlu, lansare_year, `length` FROM film

LIMITĂ 10 DECALAJ douăzeci ;;

Aceasta ar trebui să returneze 10 rânduri începând de la poziția 20, după cum urmează:

După cum puteți vedea din rezultatul dat, pornirea „film_id” începe la poziția 21 și trece la poziția 30.

Exemplul 3: Utilizarea clauzei Order BY

O altă utilizare comună a clauzei LIMIT este în combinație cu clauza ORDER BY. Acest lucru ne permite să recuperăm un anumit număr de rânduri care se bazează pe o anumită ordine. Aceasta poate include sortarea de bază (crescător sau descendent), etc.

De exemplu, să presupunem că vrem să recuperăm primele 10 cele mai lungi filme din tabelul „filme”. Putem folosi clauza ORDER BY pentru a sorta valorile în funcție de lungime și apoi pentru a limita primele 10 rânduri.

Un exemplu este următorul:

SELECTează f.film_id, f.title, f.length

DIN filmul f

ORDIN DUPA lungime DESC

LIMITĂ 10 ;

În acest caz, folosim clauza ORDER BY pentru a ordona rândurile în ordine descrescătoare (de la cel mai mare la cel mai mic) și apoi obținem primele 10 rânduri folosind clauza LIMIT.

Setul de rezultate este următorul:

  Un tabel al unei liste Descriere generată automat cu încredere medie

Iată-l!

Concluzie

În această postare, am învățat elementele fundamentale și caracteristicile avansate ale lucrului cu clauza LIMIT în bazele de date SQL.