Shrnutí: v tomto tutoriálu, se dozvíte, jak používat SQL Server EXISTS
operátor ve stavu test na existenci řádků v poddotazu.
SQL Server EXISTUJE operátor přehled
EXISTS
provozovatel je logický operátor, který vám umožní zkontrolovat, zda poddotaz vrátí žádné řádky. EXISTS
operátor vrací TRUE
pokud poddotaz vrátí jeden nebo více řádků.,
následující příklad ukazuje syntaxi SQL Server EXISTS
operátor:
Code language: SQL (Structured Query Language) (sql)
V této syntaxi, poddotazu je SELECT
prohlášení. Jakmile poddotaz vrátí řádky, EXISTS
operátor vrací TRUE
zastavit zpracování ihned.
Všimněte si, že i přesto, že poddotaz vrací NULL
hodnota EXISTS
operátor je stále hodnocena TRUE
.,
SQL Server existuje příklady operátorů
Vezměme si několik příkladů, abychom pochopili, jak fungujeEXISTS
operátor.
) EXISTUJE s Pomocí poddotaz vrátí hodnotu NULL příklad
Viz následující customers
tabulky z ukázkové databáze.,
následující příklad vrátí všechny řádky z customers
tabulka:
V tomto příkladu je poddotaz vrátil výsledek sada, která obsahuje NULL
, který způsobí, že EXISTS
operátor vyhodnotit, do TRUE
. Celý dotaz proto vrací všechny řádky z tabulky customers
.,
B) EXISTUJE s Pomocí korelační poddotaz příklad
Zvažte následující customers
orders
stoly:
následující příklad najde všechny zákazníky, kteří mají umístěny více než dva příkazy:
V tomto příkladu, měli jsme korelační poddotaz, který vrací zákazníkům, kteří uskuteční více než dvě objednávky.,
Pokud číslo objednávky zákazníkem je méně než nebo se rovná dvěma, poddotaz vrátí prázdnou sadu výsledků, která způsobuje EXISTS
operátor vyhodnotit, do FALSE
.
na základě výsledku EXISTS
operátor bude zákazník zařazen do sady výsledků.
C) existuje vs., V příkladu
následující prohlášení používá IN
operátor najít objednávek zákazníků ze San Jose:
následující prohlášení používá EXISTS
subjekt, který vrátí stejný výsledek:
EXISTUJE vs. PŘIPOJIT
EXISTS
operátor vrací TRUE
nebo FALSE
JOIN
klauzule vrátí řádky z jiné tabulky.,
operátorEXISTS
testuje, zda subquery vrátí libovolný řádek a zkraty, jakmile to udělá. Na druhé straně používáte JOIN
pro rozšíření sady výsledků kombinací se sloupci z souvisejících tabulek.
v praxi používáte EXISTS
, když stačí zkontrolovat existenci řádků z souvisejících tabulek, aniž byste z nich vrátili data.
V tomto kurzu jste se naučili, jak používat SQL Server EXISTS
operátor otestovat, zda poddotaz vrátí řádky.