MS Access - Predikát EXISTS

22. 12. 2012, Vladimír Klaus, přečteno 3448x

MS Access
SQL

Tento predikát se používá v případě, že máme dva dotazy, přičemž ten druhý tvoří podmínku pro první dotaz.

Například tímto dotazem vypíšeme všechny zákazníky, kteří si něco objednali (v tabulce objednávek je odkaz na ID zákazníka).

SELECT * FROM Zakaznici
WHERE EXISTS
(SELECT * FROM Objednavky WHERE Objednavky.IdZakaznika = Zakaznici.ID)

SQL obrázek

Porovnejte prosím s již zmíněným spojovacím dotazem, který ke všem objednávkám připojí údaje o příslušných zákaznících.

SELECT * FROM Objednavky
INNER JOIN Zakaznici ON Objednavky.IdZakaznika = Zakaznici.ID

SQL obrázek