Riepilogo: in questo tutorial, imparerai come utilizzare l’operatore SQL ServerEXISTS
nella condizione di verificare l’esistenza di righe in una sottoquery.
SQL Server ESISTE panoramica dell’operatore
L’operatoreEXISTS
è un operatore logico che consente di verificare se una sottoquery restituisce una riga. L’operatoreEXISTS
restituisceTRUE
se la sottoquery restituisce una o più righe.,
Quanto segue mostra la sintassi dell’operatore SQL ServerEXISTS
:
Code language: SQL (Structured Query Language) (sql)
In questa sintassi, la sottoquery è solo un’istruzioneSELECT
. Non appena la sottoquery restituisce le righe, l’operatore EXISTS
restituisce TRUE
e interrompe immediatamente l’elaborazione.
Si noti che anche se la sottoquery restituisce un valoreNULL
, l’operatoreEXISTS
viene ancora valutato inTRUE
.,
SQL Server ESISTE esempi di operatori
Prendiamo alcuni esempi per capire come funziona l’operatoreEXISTS
.
A) L’utilizzo di EXISTS con una sottoquery restituisce NULL esempio
Vedere la seguente tabellacustomers
dal database di esempio.,
L’esempio seguente restituisce tutte le righe della customers
tabella:
In questo esempio, la subquery restituito un set che contiene NULL
che provoca il EXISTS
operatore per valutare TRUE
. Pertanto, l’intera query restituisce tutte le righe dalla tabellacustomers
.,
B) Utilizzando ESISTE con una subquery correlata esempio
si Consideri il seguente customers
e orders
tabelle:
L’esempio seguente trova tutti i clienti che hanno effettuato più di due ordini:
In questo esempio, abbiamo avuto una subquery correlata che restituisce i clienti che più di due ordini.,
Se il numero di ordini effettuati dal cliente è minore o uguale a due, la sottoquery restituisce un set di risultati vuoto che fa sì che l’operatoreEXISTS
valutiFALSE
.
In base al risultato dell’operatoreEXISTS
, il cliente verrà incluso nel set di risultati.
C) ESISTE vs., NELL’esempio
La seguente dichiarazione utilizza il IN
operatore di ordini dei clienti da San Jose:
La seguente dichiarazione utilizza il EXISTS
operatore che restituisce lo stesso risultato:
ESISTE vs JOIN
EXISTS
restituisce l’operatore TRUE
o FALSE
mentre JOIN
clausola restituisce le righe di un’altra tabella.,
Si utilizza l’operatoreEXISTS
per verificare se una sottoquery restituisce qualsiasi riga e cortocircuiti non appena lo fa. D’altra parte, si utilizza JOIN
per estendere il set di risultati combinandolo con le colonne delle tabelle correlate.
In pratica, si utilizza EXISTS
quando è sufficiente verificare l’esistenza di righe da tabelle correlate senza restituire i dati da esse.
In questo tutorial, hai imparato come utilizzare l’operatore SQL Server EXISTS
per verificare se una sottoquery restituisce righe.