TOP

SQL EXISTS-Anweisung

SQL EXISTS Beschreibung

Der Operator EXISTS wird verwendet, um das Vorhandensein eines Datensatzes in der Unterabfrage zu überprüfen.

Der Operator EXISTS gibt TRUE zurück, wenn die Unterabfrage einen oder mehrere Datensätze zurückgibt.


EXISTS Syntax

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition)

Demonstrationsdatenbank

Das Folgende ist ein Beispiel aus der Tabelle „Products“ („Produkte“) der Datenbank Northwind:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18.00
2Chang1124 - 12 oz bottles19.00
3Aniseed Syrup1212 - 550 ml bottles10.00
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
5Chef Anton's Gumbo Mix2236 boxes21.35

Und das Beispiel aus der Tabelle „Suppliers“ („Suppliers“):

SupplierIDSupplierNameContactNameAddressCityPostalCodeCountryPhone
1Exotic LiquidCharlotte Cooper49 Gilbert St.LondonaEC1 4SDUK(171) 555-2222
2New Orleans Cajun DelightsShelley BurkeP.O. Box 78934New Orleans70117USA(100) 555-4822
3Grandma Kelly's HomesteadRegina Murphy707 Oxford Rd.Ann Arbor48104USA(313) 555-5735
4Tokyo TradersYoshi Nagase9-8 Sekimai Musashino-shiTokyo100Japan(03) 3555-5011
5Cooperativa de Quesos 'Las Cabras'Antonio del Valle SaavedraCalle del Rosal 4Oviedo33007Spain(98) 598 76 54

SQL EXISTS Beispiele

Die folgende SQL-Abfrage gibt TRUE zurück und enthält eine Liste von Lieferanten mit einem Produktpreis von weniger als 20:

Run SQLSELECT SupplierName 
FROM Suppliers 
WHERE EXISTS (SELECT ProductName 
              FROM Products 
              WHERE Products.SupplierID = Suppliers.supplierID 
                AND Price < 20)

Eine weitere SQL-Anweisung gibt TRUE zurück und enthält eine Liste von Lieferanten mit einem Produktpreis von 22:

Run SQLSELECT SupplierName 
FROM Suppliers 
WHERE EXISTS (SELECT ProductName 
              FROM Products 
              WHERE Products.SupplierID = Suppliers.supplierID 
                AND Price = 22)