SQL > SQL Befehle > EXISTS 

EXISTS ist ein boolescher Operator, der in einer Unterabfrage verwendet wird, um zu überprüfen, ob die innere Abfrage eine Zeile zurückgibt. Wenn dies der Fall ist, wird die äußere Abfrage ausgeführt. Andernfalls wird die äußere Abfrage nicht ausgeführt, und die gesamte SQL-Anweisung gibt nichts zurück.

Syntax

Die Syntax für EXISTS lautet:

SELECT "Spaltenname1"
FROM "Tabellenname1"
WHERE EXISTS
(SELECT *
FROM "Tabellenname2"
WHERE "Bedingung");

Bitte beachten Sie, dass anstelle von * in der inneren Abfrage eine oder mehrere Spalten ausgewählt werden können. Der Effekt bleibt gleich.

Beispiel

Wir verwenden die folgenden Tabellen für unser Beispiel.

Tabelle Store_Information

 Store_Name  Sales  Txn_Date 
 Los Angeles 1500  Jan-05-1999 
 San Diego 250  Jan-07-1999 
 Los Angeles 300  Jan-08-1999 
 Boston 700  Jan-08-1999 

Tabelle Geography

 Region_Name  Store_Name 
 East  Boston 
 East  New York 
 West  Los Angeles 
 West  San Diego 

Die folgende SQL-Abfrage,

SELECT SUM(Sales) FROM Store_Information
WHERE EXISTS
(SELECT * FROM Geography
WHERE Region_Name = 'West');

liefert das folgende Ergebnis:

SUM(Sales)
2750

Zunächst mag dies verwirrend erscheinen, da die Unterabfrage die Bedingung [region_name = 'West'] enthält, aber die Abfrage den Umsatz für Geschäfte in allen Regionen aufsummiert. Bei genauerer Betrachtung stellt sich heraus, dass die Unterabfrage mehr als null Zeilen zurückgibt, wodurch die EXISTS-Bedingung wahr ist und die aus der Abfrage "SELECT SUM(Sales) FROM Store_Information" zurückgegebenen Zeilen das endgültige Ergebnis werden. 

SQL UNION >>

Diese Seite wurde zuletzt am 16.10.2023 aktualisiert




Copyright © 2024   1keydata.com   Alle Rechte vorbehalten