Hướng dẫn SQL

TRANG CHỦ SQL Giới thiệu SQL Cú pháp SQL Lựa chọn SQL SQL Chọn phân biệt SQL ở đâu SQL Và, Hoặc, Không Đặt hàng SQL theo Chèn SQL vào Giá trị rỗng trong SQL Cập nhật SQL SQL Delete SQL Select Top SQL Min và Max Số lượng SQL, Trung bình, Tổng SQL như Ký tự đại diện SQL SQL trong SQL giữa Bí danh SQL SQL tham gia Tham gia bên trong SQL SQL còn lại tham gia SQL Right Join Tham gia đầy đủ SQL SQL tự tham gia SQL Union Nhóm SQL bởi SQL có SQL tồn tại SQL Bất kỳ, Tất cả SQL chọn vào Chèn SQL vào vùng chọn Trường hợp SQL Hàm Null trong SQL Thủ tục lưu trữ SQL Nhận xét SQL Toán tử SQL

Cơ sở dữ liệu SQL

SQL Tạo cơ sở dữ liệu SQL Drop DB Cơ sở dữ liệu sao lưu SQL SQL Tạo bảng Bảng thả SQL Bảng thay thế SQL Các ràng buộc SQL SQL không rỗng SQL duy nhất Khóa chính SQL Khóa ngoại SQL Kiểm tra SQL SQL mặc định Chỉ mục SQL Tăng tự động SQL SQL Dates Chế độ xem SQL SQL Injection Lưu trữ SQL Các kiểu dữ liệu SQL

Tham chiếu SQL

Từ khóa SQL Các chức năng của MySQL Các chức năng của SQL Server Chức năng MS Access Tham khảo nhanh SQL

Ví dụ về SQL

Ví dụ về SQL Câu hỏi SQL Bài tập SQL Chứng chỉ SQL

SQL BẤT KỲ và TẤT CẢ các toán tử


SQL BẤT KỲ và TẤT CẢ các toán tử

Toán tử ANYALLcho phép bạn thực hiện so sánh giữa một giá trị cột và một loạt các giá trị khác.


Toán tử SQL BẤT KỲ

Người ANYđiều hành:

  • trả về một giá trị boolean là kết quả
  • trả về TRUE nếu BẤT KỲ giá trị nào trong số các giá trị truy vấn con đáp ứng điều kiện

ANY có nghĩa là điều kiện sẽ đúng nếu hoạt động đúng với bất kỳ giá trị nào trong phạm vi.

BẤT KỲ 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);

Lưu ý: Toán tử phải là một toán tử so sánh chuẩn (=, <>,! =,>,> =, <, Hoặc <=).


Toán tử SQL ALL

Người ALLđiều hành:

  • trả về một giá trị boolean là kết quả
  • trả về TRUE nếu TẤT CẢ các giá trị truy vấn con đáp ứng điều kiện
  • được sử dụng với SELECT, WHEREvà các HAVINGcâu lệnh

ALL có nghĩa là điều kiện sẽ chỉ đúng nếu hoạt động đúng với tất cả các giá trị trong phạm vi. 

TẤT CẢ Cú pháp Với CHỌN

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

TẤT CẢ Cú pháp với WHERE hoặc HAVING

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

Lưu ý: Toán tử 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
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

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
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15


SQL BẤT KỲ Ví dụ nào

Câu lệnh SQL sau liệt kê ProductName nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails có Số lượng bằng 10 (điều này sẽ trả về TRUE vì cột Số lượng có một số giá trị là 10):

Thí dụ

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

Câu lệnh SQL sau liệt kê ProductName nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails có Số lượng lớn hơn 99 (điều này sẽ trả về TRUE vì cột Số lượng có một số giá trị lớn hơn 99):

Thí dụ

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);

Câu lệnh SQL sau liệt kê ProductName nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails có Số lượng lớn hơn 1000 (điều này sẽ trả về FALSE vì cột Số lượng không có giá trị nào lớn hơn 1000):

Thí dụ

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);

SQL TẤT CẢ các ví dụ

Câu lệnh SQL sau liệt kê TẤT CẢ các tên sản phẩm:

Thí dụ

SELECT ALL ProductName
FROM Products
WHERE TRUE;

Câu lệnh SQL sau liệt kê ProductName nếu TẤT CẢ các bản ghi trong bảng OrderDetails có Số lượng bằng 10. Điều này tất nhiên sẽ trả về FALSE vì cột Số lượng có nhiều giá trị khác nhau (không chỉ giá trị của 10):

Thí dụ

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);