Operator SQL EXISTS
Operator EXISTS digunakan untuk menguji keberadaan rekaman apa pun di subkueri.
Operator EXISTS dapat mengembalikan nilai true jika subkueri mengembalikan satu atau lebih rekaman.
Syntax EXISTS
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);
Contoh Database
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 |
Contoh SQL EXISTS
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);