SQL ANY dan ALL Operator
Operator ANY dan ALL digunakan dengan klausa WHERE atau HAVING.
Operator ANY mengembalikan nilai true jika salah satu nilai subquery memenuhi ketentuan.
Operator ALL mengembalikan nilai true jika semua nilai subquery memenuhi ketentuan.
SQL ANY Sintaks :
SELECT nama_kolom …FROM nama_tableWHERE nama_kolom operator ANY(SELECT nama_kolom FROM nama_table WHERE kondisi);
SQL ALL Sintaks :
SELECT nama_kolom …FROM nama_tableWHERE nama_kolom operator ALL(SELECT nama_kolom FROM nama_table WHERE kondisi);
Catatan: Operator harus merupakan operator perbandingan standar (=, <>,! =,>,> =, <, or,<=).
Contoh SQL ANY
Operator ANY mengembalikan TRUE jika salah satu nilai subquery memenuhi ketentuan.
Pernyataan SQL berikut menghasilkan TRUE dan mencantumkan nama-nama products jika menemukan record data APAPUN di tabel OrderDetails dengan kuantitas= 10:
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
Contoh SQL ALL
SQL ALL operator yang mengembalikan TRUE jika semua nilai subquery memenuhi ketentuan.
Pernyataan SQL berikut menghasilkan TRUE dan mencantumkan nama-nama produk jika SEMUA record data dalam tabel OrderDetails memiliki kuantitas = 10:
SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);