Dichiarazione SQL Fetch

Dichiarazione SQL Fetch

Questo post esplorerà come utilizzare l'istruzione Fetch in SQL standard. Questa affermazione consente di limitare il numero di record restituiti da una query specifica.

Sono sicuro che hai familiarità con la clausola limite che esegue un'operazione simile. Quindi, qual è la differenza tra limite e recupero?

La semplice risposta è che non c'è molta differenza. Tuttavia, la clausola limite non è supportata in SQL standard. È stato adottato dalla clausola di recupero dai fornitori di database. Pertanto, è ampiamente adottato da quasi tutti i principali motori di database SQL.

In alcuni rari casi, è possibile incontrare un'istanza in cui il fornitore di database non supporta la clausola limite. Oppure stai utilizzando SQL standard nel tuo ambiente.

Sintassi della clausola

Di seguito mostra la sintassi della clausola di recupero:

Offset offset_rows riga | Righe
FETCH [FETCH_ROWS] Row | Solo righe

Esempio

L'esempio seguente mostra come utilizzare la clausola di recupero offset in SQL standard:

Crea database zero_day;
Usa zero_day;
Crea record di tabelle (
Id int non null Auto_Increment Key primario,
report_name varchar (255) non null,
report_date data non null,
report_author varchar (100) predefinito 'anonimo',
gravità int non null,
Controlla (gravità> 0)
);
Insert in Records (report_name, report_date, gravità)
valori ('desc-100', '2022-01-20', 6),
('Desc-200', '2022-01-21', 5),
('Desc-300', '2022-01-22', 10),
('Desc-400', '2022-01-23', 8),
('Desc-500', '2022-01-24', 4);


Possiamo utilizzare l'istruzione SELECT e la clausola di recupero offset, come mostrato di seguito:

Seleziona * da Records Offset 0 Righe Fetch Next 3 Righe Solo;


La query precedente dovrebbe recuperare le prime tre righe dalla tabella specificata.

Conclusione

In questo post, abbiamo discusso delle basi dell'utilizzo dell'istruzione Offset Fetch in SQL standard. Inoltre, abbiamo fornito esempi per evidenziare la sintassi della clausola.