Opmerking:SOME en ANY zijn equivalent. We gaan ELKE gebruiken in onze onderstaande voorbeelden.
Scenario:
Laten we zeggen dat we twee tabellen hebben dbo.Customer en dbo.Customer1. Beide tabellen hebben de kolom Leeftijd. Als u alle records uit de dbo.Klanttabel wilt halen, waarbij Leeftijd ten minste groter is dan één waarde uit de kolom Leeftijd uit de tabel dbo.Klant1.Oplossing:
We kunnen de subquery- en MIN-functie gebruiken om onze query voor bovenstaande vereiste te schrijven. Laten we eerst de tabellen maken.--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) Haal alle records op uit de dbo.Customer-tabel waar Age groter is dan de minimum Age-waarde van de dbo.Customer1-tabel met behulp van de Subquery en de Min-functie.
Select * From dbo.Customer where Age> ( Select MIN(age) from dbo.Customer1)
2) Gebruik ANY om de vereiste resultaten te krijgen.
We kunnen ANY gebruiken in plaats van de Min-functie met subquery. Omdat we alle rijen van dbo.Customer willen krijgen waarbij Leeftijd groter is dan een waarde van de kolom Leeftijd in dbo.Customer, zullen we>Any gebruiken.
>ANY betekent groter dan ten minste één waarde, dat wil zeggen groter dan het minimum.
Select * From dbo.Customer where Age>ANY ( Select age from dbo.Customer1)
We hebben dezelfde records die werden geretourneerd door onze eerste query.
Als u =ANY gebruikt, is dat gelijk aan IN. Met ANY kun je verschillende vergelijkingsoperatoren gebruiken, zoals =, <> , !=,> ,>=, !> , <, <=, !<
Video Demo:ELKE / SOMMIGE logische operator gebruiken in SQL Server