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’operatoreEXISTSvalutiFALSE.

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.