SQL ANY và ALL
Toán tử ANY và ALL được sử dụng với mệnh đề WHERE hoặc HAVING.
Toán tử ANY trả về true nếu bất kỳ giá trị truy vấn con nào đáp ứng điều kiện.
Toán tử ALL trả về true nếu tất cả các giá trị truy vấn con đáp ứng điều kiện.
ANY Cú pháp nào
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);
ALL cú pháp
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);
Lưu ý: Các nhà điều hành phải là một toán tử so sánh chuẩn (=, <>, =,>,> =, <, hoặc <=!).
Cơ sở dữ liệu Demo
Dưới đây là lựa chọn từ bảng "Sản phẩm" trong cơ sở dữ liệu mẫu Northwind:
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 |
Và một lựa chọn từ bảng "OrderDetails":
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
SQL ANY Ví dụ
Toán tử BẤT KỲ trả về TRUE nếu bất kỳ giá trị truy vấn con nào đáp ứng điều kiện.
Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails mà số lượng = 10:
Thí dụ
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails mà số lượng> 99:
Thí dụ
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity > 99);
Ví dụ về SQL ALL
Toán tử ALL trả về TRUE nếu tất cả các giá trị truy vấn con đáp ứng điều kiện.
Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu TẤT CẢ các bản ghi trong bảng OrderDetails có số lượng = 10 (vì vậy, ví dụ này sẽ trả về FALSE, vì không phải TẤT CẢ các bản ghi trong bảng OrderDetails đều có số lượng = 10):
Thí dụ
SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
#OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #tự học oracle