Hãy hiểu ALL bằng các ví dụ.
Tình huống:
Hãy nghĩ về một tình huống trong đó chúng ta có hai bảng dbo.Customer và dbo.Customer1. Cả hai bảng đều có cột Tuổi. Nếu bạn cần lấy tất cả các bản ghi từ bảng dbo.Customer trong đó Age lớn hơn giá trị tối đa của cột Age trong bảng dbo.Customer1. Truy vấn của bạn sẽ là gì.Giải pháp:
Chúng ta có thể sử dụng truy vấn con và hàm max để viết truy vấn cho yêu cầu trên. Trước tiên, hãy tạo bảng.--Create Customer Table Create table dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2), Age tinyint) GO --Insert Rows in dbo.Customer Table insert into dbo.Customer Values ( 1,'Raza','M','PK',20), (2,'Rita','John','US',12), (3,'Sukhi','Singh',Null,25), (4,'James','Smith','CA',60), (5,'Robert','Ladson','US',54), (6,'Alice','John','US',87) --Create dbo.Customer1 table Create table dbo.Customer1 (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2), Age tinyint) GO --Insert rows in dbo.Customer1 Table insert into dbo.Customer1 Values (7,'Raza','M','US',33), (8,'Dita','M','US',15), (9,'Adita','M','US',29)
1) Nhận tất cả các bản ghi từ bảng dbo.Customer trong đó Age lớn hơn giá trị Tuổi tối đa của bảng dbo.Customer1 bằng cách sử dụng Subquery và hàm Max.
2) sử dụng ALL với SubQuery
Đối với yêu cầu trên, chúng tôi có thể sử dụng toán tử lôgic TẤT CẢ. Trong trường hợp đó, chúng ta không phải sử dụng hàm Max. ALL sẽ so sánh giá trị truy vấn bên ngoài của chúng tôi với tập hợp các giá trị từ truy vấn con. Chúng ta có thể sử dụng> Tất cả,> TẤT CẢ có nghĩa là lớn hơn mọi giá trị được trả về bởi truy vấn con, Nói cách khác là lớn hơn giá trị tối đa.
Select * From dbo.Customer where Age> All ( Select age from dbo.Customer1)
Cách sử dụng TẤT CẢ Toán tử logic trong SQL Server - Hướng dẫn SQL Server / TSQL |
Với TẤT CẢ, bạn có thể sử dụng các toán tử so sánh khác nhau như =, <>,! =,>,> =,!>, <, <=,! <
Video Demo:Cách sử dụng TẤT CẢ Toán tử logic trong SQL / TSQL