Seleziona le prime 10 righe in SQL

Seleziona Le Prime 10 Righe In Sql



Quando lavoriamo in un database SQL, potremmo imbatterci in casi in cui dobbiamo recuperare uno specifico sottoinsieme di righe da una determinata tabella. Ciò ci consente di limitare le risorse necessarie per recuperare i valori dalla tabella.

Fortunatamente, in SQL, abbiamo accesso alla clausola LIMIT che ci consente di controllare il numero di righe restituite all'interno di un determinato set di risultati. Questa funzionalità è molto utile quando abbiamo a che fare con un set di dati di grandi dimensioni e in realtà non abbiamo bisogno dell'intera riga ma di un suo sottoinsieme. Questo può essere necessario per ottenere il layout dei dati o la presentazione.

In questo tutorial impareremo come utilizzare e lavorare con la clausola LIMIT nei database SQL per specificare il numero di righe che desideriamo recuperare dal database.







Requisiti:

Prima di approfondire il funzionamento e l'utilizzo della clausola LIMIT in SQL, discutiamo alcuni requisiti di base per questo tutorial.



Per seguire questo post, avrai bisogno di quanto segue:



  1. MySQL 8.0 e versioni successive funzionano con MySQL 5
  2. Accesso al database di esempio Sakila
  3. Autorizzazioni per interrogare le righe dal database di destinazione (accesso in lettura)

Soddisfatti i requisiti indicati, possiamo procedere con questo tutorial.





LIMITE SQL

In SQL, la clausola LIMIT ci consente di limitare il numero di righe restituite da una determinata query SQL. Ad esempio, in un'istruzione select, invece di restituire tutte le righe della tabella che può contenere più di 1000 record, possiamo scegliere di visualizzare solo le prime 10 righe.

Di seguito viene mostrata la sintassi di base della clausola LIMIT in SQL:



SELEZIONA col1, col2, ...

DA nome_tbl

LIMIT num_righe;

In questo esempio, utilizziamo la clausola LIMIT insieme all'istruzione SELECT.

Dalla sintassi data, “tbl_name” rappresenta il nome della tabella da cui desideriamo recuperare i dati.

Il 'num_rows' ci consente di specificare il numero massimo di righe restituite nel set di risultati.

Esempio 1: limitare il numero di righe

Il ruolo più comune e fondamentale della clausola LIMIT è impostare il numero massimo di righe incluse nel set di risultati.

Supponiamo di voler utilizzare la tabella 'film' dal database di esempio Sakila. Tuttavia, poiché non vogliamo recuperare tutte le righe associate, possiamo selezionare le prime 10 righe come mostrato nella seguente clausola di esempio:

SELEZIONA * DA film

LIMITE 10 ;

Una volta eseguita la query data, dovremmo ottenere un output come segue:

  Uno screenshot di una descrizione del computer generata automaticamente

In questo esempio utilizziamo la clausola LIMIT per limitare il set di risultati a 10 righe. Questo recupera le prime 10 righe dal risultato.

Esempio 2: utilizzo del valore OFFSET

In alcuni casi, potremmo voler saltare o omettere un numero specifico di righe. Ad esempio, supponiamo di voler recuperare solo cinque elementi, ma di voler iniziare dalla posizione 20. Possiamo utilizzare il parametro OFFSET che ci permette di indicare alla clausola LIMIT da quale posizione desideriamo iniziare.

Ciò è particolarmente utile quando è necessario implementare l'impaginazione in un set di dati di grandi dimensioni, come mostrato nell'esempio seguente:

SELEZIONA id_film, titolo, anno_uscita, 'lunghezza' DAL film

LIMITE 10 COMPENSARE venti ;;

Questo dovrebbe restituire 10 righe a partire dalla posizione 20 come segue:

Come puoi vedere dal risultato fornito, l'inizio 'film_id' inizia dalla posizione 21 e procede fino alla posizione 30.

Esempio 3: utilizzo della clausola Order BY

Un altro uso comune della clausola LIMIT è in combinazione con la clausola ORDER BY. Ciò ci consente di recuperare un numero specifico di righe basate su un ordine particolare. Ciò può includere l'ordinamento di base (ascendente o discendente), ecc.

Ad esempio, supponiamo di voler recuperare i primi 10 film più lunghi dalla tabella 'film'. Possiamo utilizzare la clausola ORDER BY per ordinare i valori in base alla lunghezza e quindi limitare le prime 10 righe.

Un esempio è il seguente:

SELEZIONA f.id_film, f.titolo, f.lunghezza

DAL film f

ORDINE PER lunghezza DESC

LIMITE 10 ;

In questo caso, utilizziamo la clausola ORDER BY per ordinare le righe in ordine decrescente (dalla più alta alla più bassa) e quindi recuperiamo le prime 10 righe utilizzando la clausola LIMIT.

Il set di risultati è il seguente:

  Una tabella di un elenco Descrizione generata automaticamente con sicurezza media

Ecco qua!

Conclusione

In questo post abbiamo appreso le nozioni fondamentali e le funzionalità avanzate per lavorare con la clausola LIMIT nei database SQL.