Mysql
 sql >> Database >  >> RDS >> Mysql

ROW_NUMBER in SQL:seleziona Esempio principale in SQL e SQL Server

SQL, o linguaggio di query strutturato, ci consente di raccogliere dati da un database tramite query. Ci consente inoltre di inserire, aggiornare ed eliminare tali dati.

In questo post del blog, ci concentreremo su come recuperare i dati e limitare i risultati utilizzando SQL.

Perché dovresti limitare i risultati delle query SQL?

Un database è solitamente un'enorme raccolta di dati. A volte non è necessario recuperare tutti i risultati. Per limitare i risultati, possiamo ottimizzare la query.

La limitazione dei risultati delle query è importante per le prestazioni del database. Il recupero di un risultato di grandi dimensioni quando non è necessario comporta un carico aggiuntivo sul database e influisce sull'esperienza dell'utente.

Come limitare i risultati delle query in SQL

La sintassi è diversa per SQL Server, Oracle e MySQL per la limitazione dei dati.

  • MySQL usa LIMIT .
  • ORACLE utilizza FETCH FIRST .
  • MS Access e SQL Server utilizzano TOP .

Vedremo esempi di come ognuno funziona in dettaglio di seguito.

Database demo

Abbiamo la seguente tabella denominata students con i loro dettagli come puoi vedere di seguito:

ID Nome Sesso
1 Ryan M
2 Giovanna F
3 Miranda Andersen F
4 Dalia Mata F
5 Lilianna Boyd F
6 Lexie Sharp M
7 Jazlene Cordova F
8 Brycen Werner M
9 Karissa Turner F
10 Aisha Dodson F
11 Aydin Reeves M

Come limitare una query in MySQL

Di seguito è riportata la sintassi per MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Ad esempio, selezioneremo i primi 5 record dalla tabella.

Usiamo la nostra tabella students per questa dimostrazione.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Uscita:

Come combinare LIMIT con ORDER BY

Quando combini LIMIT con ORDER BY, puoi ottenere risultati più significativi. Ad esempio, possiamo usarlo per trovare i primi 5 studenti che hanno ottenuto un punteggio superiore al 70% all'esame.

Ordiniamo il nostro tavolo students con la colonna name e scegli i primi 5 dal risultato. Puoi farlo in questo modo:

SELECT * FROM students
order by name
LIMIT 5;

Uscita:

Come limitare i risultati – sintassi Oracle

Di seguito è riportata la sintassi equivalente per il nostro primo esempio in Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

Nelle versioni precedenti di Oracle, puoi utilizzare ROWNUM per limitare il numero di righe restituite da una query.

Esempio:

SELECT * FROM 
students 
WHERE ROWNUM < 5;

Come limitare i risultati in SQL - sintassi MS Access

Di seguito è riportata la sintassi equivalente per il nostro primo esempio in MS Access.

SELECT TOP 5 * FROM students;

Conclusione

La funzionalità LIMIT può essere molto potente per l'ottimizzazione delle query se combinata con l'ordinamento. Le query efficienti sono più leggere per il sistema e rapide per l'utente. Si consiglia sempre di LIMITARE i risultati ove applicabile.