Hinweis:SOME und ANY sind äquivalent. In unseren Beispielen unten verwenden wir ANY.
Szenario :
Nehmen wir an, wir haben zwei Tabellen dbo.Customer und dbo.Customer1. Beide Tabellen haben die Spalte Alter. Wenn Sie alle Datensätze aus der Tabelle dbo.Customer abrufen müssen, bei denen das Alter mindestens größer als ein Wert aus der Spalte Age der Tabelle dbo.Customer1 ist.Lösung:
Wir können die Unterabfrage und die MIN-Funktion verwenden, um unsere Abfrage für die obige Anforderung zu schreiben. Lassen Sie uns zuerst die Tabellen erstellen.--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) Rufen Sie alle Datensätze aus der Tabelle dbo.Customer ab, bei denen das Alter größer als der Wert für das Mindestalter der Tabelle dbo.Kunde1 ist, indem Sie die Funktion Subquery und Min verwenden.
Select * From dbo.Customer where Age> ( Select MIN(age) from dbo.Customer1)
2) Verwenden Sie ANY, um die erforderlichen Ergebnisse zu erhalten.
Wir können ANY anstelle der Min-Funktion mit Unterabfrage verwenden. Da wir alle Zeilen aus dbo.Customer erhalten möchten, in denen Alter größer als ein beliebiger Wert der Altersspalte in dbo.Customer ist, verwenden wir>Any.
>ANY bedeutet größer als mindestens ein Wert, d. h. größer als das Minimum.
Select * From dbo.Customer where Age>ANY ( Select age from dbo.Customer1)
Wir haben dieselben Datensätze erhalten, die von unserer ersten Abfrage zurückgegeben wurden.
Wenn Sie =ANY verwenden, das gleich IN ist. Mit ANY können Sie verschiedene Vergleichsoperatoren wie =, <> , !=,> ,>=, !> , <, <=, !<
Video verwenden Demo :Verwendung von JEDEN / EINIGEN logischen Operatoren in SQL Server