Operator EXISTS digunakan untuk menguji keberadaan rekaman apa pun di subkueri.
Operator EXISTS dapat mengembalikan nilai true jika subkueri mengembalikan satu atau lebih rekaman.
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);
Di bawah ini adalah pilihan dari tabel “Produk” di database contoh Northwind:
IdProduct | NamaProduct | IdSupplier | IdCategory | Unit | Harga |
---|---|---|---|---|---|
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 |
Dan pilihan dari tabel “Supplier”:
IdSupplier | NamaSupplier | NamaKontak | Alamat | Kota | KodePos | Negara |
---|---|---|---|---|---|---|
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 |
Pernyataan SQL berikut mengembalikan TRUE dan mencantumkan supplier dengan harga produk kurang dari 20:
Contoh
SELECT NamaSupplier FROM Suppliers WHERE EXISTS (SELECT NamaProduk FROM Produk WHERE Produk.IdSupplier = Suppliers.IdSupplier AND Harga < 30);
Pernyataan SQL berikut mengembalikan TRUE dan mencantumkan pemasok dengan harga produk yang sama dengan 22:
Contoh
SELECT NamaSupplier FROM Suppliers WHERE EXISTS (SELECT NamaProduk FROM Produk WHERE Produk.IdSupplier = Suppliers.Idsupplier AND Harga = 22);