Lad os forstå ALLE med eksempler.
Scenarie :
Tænk på et scenarie, hvor vi har to tabeller dbo.Customer og dbo.Customer1. Begge tabeller har kolonnen Alder. Hvis du har brug for at hente alle posterne fra dbo.Customer-tabel, hvor Alder er større end maksimumværdien af Alder-kolonnen i dbo.Customer1-tabel. Hvad ville din forespørgsel være.Løsning:
Vi kan bruge underforespørgsel og max funktion til at skrive vores forespørgsel til ovenstående krav. Lad os først oprette tabellerne.--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) Hent alle posterne fra dbo.Customer-tabellen, hvor alder er større end den maksimale aldersværdi for dbo.Customer1-tabellen ved at bruge funktionen Subquery og Max.
2) ved at bruge ALLE med SubQuery
For ovenstående krav kan vi brug ALL logisk operator. I så fald behøver vi ikke bruge Max-funktionen. ALL vil sammenligne vores ydre forespørgselsværdi med et sæt værdier fra underforespørgsel. Vi kan bruge>Alle,>ALLE betyder større end hver værdi returneret af underforespørgsel, med andre ord større end maks. værdi.
Select * From dbo.Customer where Age> All ( Select age from dbo.Customer1)
Sådan bruger du ALL Logical Operator i SQL Server - SQL Server / TSQL Tutorial |
Med ALL kan du bruge forskellige sammenligningsoperatorer såsom =, <> , !=,> ,>=, !> , <, <=, !<
Videodemo:Sådan bruger du ALL Logical Operator i SQL / TSQL