- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
[DATABASE] Hướng dẫn sử dụng từ khóa ALL và ANY trong mệnh đề SQLSERVER
Xin chào các bạn, bài viết hôm nay mình sẻ hướng dẫn các bạn cách sử dụng từ khóa ALL và ANY trong mệnh đề SQLSERVER.
[DATABASE] Sử dụng ALL và ANY trong SQL SERVER
ALL và ANY là hai mệnh đề logic trong SQL, kết quả trả về có kiểu Boolean có giá trị TRUE hoặc FALSE.
Toán tử ALL trong SQL
Toán tử ALL trong SQl có thể sử dụng để lấy toàn bộ dữ liệu của các cột của một bảng trong mệnh đề SELECT.
Hoặc nó cũng có thể sử dụng để so sánh một giá trị với tất cả các giá trị trong một tập kết quả khác.
- Toán tử ALL trả về TRUE nếu tất cả các giá trị trong câu truy vấn con đáp ứng điều kiện được đưa ra. Toán tử ALL phải được đặt trước các toán tử so sánh.
- ALL có thể sử dụng với mệnh đề SELECT, WHERE, HAVING.
Cú pháp:
SELECT ALL field_name
FROM table_name
WHERE condition(s);
Hoặc có thể sử dụng với WHERE và HAVING theo cú pháp sau
SELECT column_name(s)
FROM table_name
WHERE column_name comparison_operator ALL
(SELECT column_name
FROM table_name
WHERE condition(s));
Ví dụ cho 2 table OrderDetail và Products
Products Table
ProductID | ProductName | SupplierID | CategoryID | Price |
1 | Chais | 1 | 1 | 18 |
2 | Chang | 1 | 1 | 19 |
3 | Aniseed Syrup | 1 | 2 | 10 |
4 | Chef Anton’s Cajun Seaoning | 2 | 2 | 22 |
5 | Chef Anton’s Gumbo MIX | 2 | 2 | 21 |
6 | Boysenberry Spread | 3 | 2 | 25 |
7 | Organic Dried Pears | 3 | 7 | 30 |
8 | Northwoods Cranberry Sauce | 3 | 2 | 40 |
9 | Mishi Kobe Niku | 4 | 6 | 97 |
OrderDetail
OrderDetailID | OrderID | ProductId | Quantity |
1 | 10248 | 1 | 12 |
2 | 10248 | 2 | 10 |
3 | 10248 | 3 | 15 |
4 | 10429 | 1 | 8 |
5 | 10429 | 4 | 4 |
6 | 10429 | 5 | 6 |
7 | 10250 | 3 | 5 |
8 | 10250 | 4 | 18 |
9 | 10251 | 5 | 2 |
10 | 10251 | 6 | 8 |
11 | 10252 | 7 | 9 |
12 | 10252 | 8 | 9 |
13 | 10250 | 9 | 20 |
14 | 10429 | 9 | 4 |
Ví dụ tìm tên của tất cả các sản phẩm trong Product
SELECT ALL ProductName
FROM Products
WHERE TRUE;
Chúng ta sẽ được kết quả như bên dưới:
ProductName
Chais
Chang
Aniseed Syrup
Chef Anton’s Cajun Seaoning
Chef Anton’s Gumbo MIX
Boysenberry Spread
Organic Dried Pears
Northwoods Cranberry Sauce
Mishi Kobe Niku
Tìm tên của sản phẩm nếu tất cả các bản ghi trong OrderDetails có Quantity bằng 6 hoặc 2:
SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductId
FROM OrderDetails
WHERE Quantity = 6 OR Quantity = 2);
Kết quả:
ProductName
Chef Anton’s Gumbo MIX
SELECT OrderID
FROM OrderDetails
GROUP BY OrderID
HAVING max(Quantity) > ALL (SELECT avg(Quantity)
FROM OrderDetails
GROUP BY OrderID);
Kết quả:
OrderID
10248
10250
Toán tử ANY trong SQL
Toán tử ANY có thể dùng để so sánh một giá trị với từng giá trị trong tập dữ liệu. ANY trả về TRUE nếu có một giá trị bất kỳ trong tập dữ liệu này thỏa mãn điều kiện.
Cú pháp:
SELECT column_name(s)
FROM table_name
WHERE column_name comparison_operator ANY
(SELECT column_name
FROM table_name
WHERE condition(s));
Tìm CategoryID duy nhất của các Product có bất kỳ bản ghi nào trong Bảng OrderDetails
SELECT DISTINCT CategoryID
FROM Products
WHERE ProductID = ANY (SELECT ProductID
FROM OrderDetails);
Kết quả:
CategoryID
1
2
7
6
Tìm bất kỳ Product nào trong OrderDetail có Quantity = 9
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID
FROM OrderDetails
WHERE Quantity = 9);
Kết quả:
ProductName
Organic Dried Pears
Northwoods Cranberry Sauce
Thanks for watching!