MySQL EXISTS-Operator
Der MySQL EXISTS-Operator
Der EXISTS
Operator wird verwendet, um zu prüfen, ob ein Datensatz in einer Unterabfrage vorhanden ist.
Der EXISTS
Operator 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);
Demo-Datenbank
Nachfolgend finden Sie eine Auswahl aus der Tabelle "Produkte" in der Northwind-Beispieldatenbank:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Und eine Auswahl aus der Tabelle „Lieferanten“:
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
4 | Tokyo Traders | Yoshi Nagase | 9-8 Sekimai Musashino-shi | Tokyo | 100 | Japan |
MySQL EXISTS Beispiele
Die folgende SQL-Anweisung gibt TRUE zurück und listet die Lieferanten mit einem Produktpreis von weniger als 20 auf:
Beispiel
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM
Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20);
Die folgende SQL-Anweisung gibt TRUE zurück und listet die Lieferanten mit einem Produktpreis gleich 22 auf:
Beispiel
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM
Products WHERE Products.SupplierID = Suppliers.supplierID AND Price = 22);