Lưu ý:SOME và ANY là tương đương. Chúng tôi sẽ sử dụng BẤT KỲ trong các ví dụ dưới đây của chúng tôi.
Kịch bản:
Giả sử rằng 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 ít nhất phải lớn hơn một giá trị từ cột Age từ bảng dbo.Customer1.Giải pháp:
Chúng ta có thể sử dụng truy vấn con và hàm MIN để 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',10), (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 tối thiểu Giá trị tuổi của bảng dbo.Customer1 bằng cách sử dụng Subquery và hàm Min.
Select * From dbo.Customer where Age> ( Select MIN(age) from dbo.Customer1)2) Sử dụng BẤT KỲ để nhận được kết quả cần thiết.
Chúng ta có thể sử dụng BẤT KỲ thay vì sử dụng hàm Min với truy vấn con. Khi chúng tôi muốn lấy tất cả các hàng từ dbo. Khách hàng trong đó Tuổi lớn hơn bất kỳ giá trị nào của cột Tuổi trong dbo. thấp hơn mức tối thiểu.
Select * From dbo.Customer where Age>ANY ( Select age from dbo.Customer1)Chúng tôi nhận được cùng một bản ghi những gì được trả về bởi truy vấn đầu tiên của chúng tôi.
Nếu bạn sẽ sử dụng =ANY bằng IN. Với BẤT KỲ, 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 BẤT KỲ / MỘT SỐ Toán tử logic nào trong SQL Server