Uwaga:NIEKTÓRE i DOWOLNE są równoważne. W poniższych przykładach użyjemy DOWOLNEGO.
Scenariusz:
Załóżmy, że mamy dwie tabele dbo.Customer i dbo.Customer1. Obie tabele mają kolumnę Wiek. Jeśli chcesz pobrać wszystkie rekordy z tabeli dbo.Klient, w której Wiek jest co najmniej większy niż jedna wartość z kolumny Wiek z tabeli dbo.Klient1.Rozwiązanie:
Możemy użyć podzapytania i funkcji MIN, aby napisać nasze zapytanie dla powyższego wymagania. Najpierw utwórzmy tabele.--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) Pobierz wszystkie rekordy z tabeli dbo.Customer, gdzie Age jest większe niż min Wartość wieku tabeli dbo.Customer1 za pomocą funkcji Subquery i Min.
Select * From dbo.Customer where Age> ( Select MIN(age) from dbo.Customer1)
2) Użyj ANY, aby uzyskać wymagane wyniki.
Możemy użyć ANY zamiast funkcji Min z podzapytaniem. Ponieważ chcemy pobrać wszystkie wiersze z dbo.Customer, gdzie Age jest większe niż dowolna wartość kolumny Age w dbo.Customer, użyjemy>Any.
>ANY oznacza większe niż co najmniej jedną wartość, czyli większe niż minimum.
Select * From dbo.Customer where Age>ANY ( Select age from dbo.Customer1)
Otrzymaliśmy te same rekordy, które zostały zwrócone przez nasze pierwsze zapytanie.
Jeśli użyjesz =ANY, która jest równa IN. Z ANY możesz używać różnych operatorów porównania, takich jak =, <> , !=,> ,>=, !> , <, <=, !<
Wideo Demo :Jak używać DOWOLNEGO / NIEKTÓREGO operatora logicznego w SQL Server