La funzione di lead SQL consente di accedere alla riga successiva dalla riga corrente in un offset specifico. In breve, la funzione Lead consente di accedere alla riga successiva da quella corrente. Specificando il valore di offset, è possibile accedere al prossimo 1, 2, 3, ecc., righe da quella attuale.
È l'opposto della funzione Lag (), che consente di accedere alle righe precedenti.
SQL Lead ()
La sintassi della funzione è come mostrata:
Lead (value_expression, offset [, impostazione predefinita])I seguenti sono gli argomenti supportati:
Esempio 1
Supponiamo di avere una tabella contenente le informazioni sui dipendenti come mostrato:
Per accedere al nome del dipendente successivo, possiamo eseguire una query come mostrato:
Seleziona ID, full_name, lead (full_name) over (Il codice sopra divisterà i dati in base alla categoria. Prenderà quindi il nome successivo nella partizione usando la funzione di lead.
L'output risultante è come mostrato:
Esempio 2
Se non esiste una riga successiva in una colonna specifica (Out of Bound), la funzione imposterà il valore su NULL, come mostrato sopra.
Per impostare un valore predefinito per eventuali accesso fuori dal punto di vista, possiamo fare quanto segue:
Seleziona ID, full_name, lead (full_name, 1, 'n/a') over (Impostiamo il valore predefinito su 'n/a'. Ciò dovrebbe sostituire qualsiasi valore out-of-limite come mostrato nell'output:
NOTA: Impostazione dell'offset su 1 è simile a non specificare alcun valore.
Esempio 3
Supponiamo di voler accedere alle due righe successive dalla riga corrente? Possiamo farlo impostando il valore di offset su 2.
Una query di esempio è illustrata di seguito:
Seleziona ID, full_name, lead (full_name, 2, 'n/a') over (Questa query restituirà le due righe successive in ciascuna partizione come mostrato di seguito: