Låt oss förstå ALLA med exempel.
Scenario :
Tänk på ett scenario där vi har två tabeller dbo.Customer och dbo.Customer1. Båda tabellerna har kolumnen Ålder. Om du behöver hämta alla poster från dbo.Customer-tabellen där Ålder är större än maxvärdet för kolumnen Ålder i dbo.Customer1-tabellen. Vad skulle din fråga vara.Lösning:
Vi kan använda subquery och max-funktion för att skriva vår fråga för ovanstående krav. Låt oss skapa tabellerna först.--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) Hämta alla poster från dbo.Customer-tabellen där Ålder är större än det maximala åldersvärdet för dbo.Customer1-tabellen genom att använda funktionen Subquery och Max.
2) med ALL med SubQuery
För ovanstående krav kan vi använd ALL logisk operator. I så fall behöver vi inte använda Max-funktionen. ALL kommer att jämföra vårt yttre frågevärde med uppsättningen värden från underfrågan. Vi kan använda>Alla,>ALLA betyder större än varje värde som returneras av subquery, med andra ord större än maxvärde.
Select * From dbo.Customer where Age> All ( Select age from dbo.Customer1)
Hur man använder ALL Logical Operator i SQL Server - SQL Server / TSQL Tutorial |
Med ALL kan du använda olika jämförelseoperatorer som =, <> , !=,> ,>=, !> , <, <=, !<
Videodemo:Hur man använder ALL Logical Operator i SQL/TSQL