Thứ Ba, 12 tháng 1, 2021

SQL ANY and ALL

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:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

Và một lựa chọn từ bảng "OrderDetails":

OrderDetailIDOrderIDProductIDQuantity
1102481112
2102484210
310248725
410249149
5102495140

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

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master