Laten we ALL begrijpen met voorbeelden.
Scenario:
Denk aan een scenario waarin we twee tabellen dbo.Customer en dbo.Customer1 hebben. Beide tabellen hebben de kolom Leeftijd. Als u alle records uit de dbo.Klanttabel wilt halen, waarbij Leeftijd groter is dan de maximale waarde van de kolom Leeftijd in de tabel dbo.Klant1. Wat zou uw vraag zijn.Oplossing:
We kunnen de subquery- en max-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',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) Haal alle records uit de dbo.Customer-tabel waarin de leeftijd groter is dan de maximale leeftijdswaarde van de dbo.Customer1-tabel met behulp van de subquery en de Max-functie.
2) met ALL met SubQuery
Voor bovenstaande vereiste kunnen we gebruik de logische operator ALL. In dat geval hoeven we de Max-functie niet te gebruiken. ALL gaat onze buitenste querywaarde vergelijken met een reeks waarden uit subquery. We kunnen>Alle gebruiken,>ALL betekent groter dan elke waarde die wordt geretourneerd door subquery, met andere woorden groter dan de maximale waarde.
Select * From dbo.Customer where Age> All ( Select age from dbo.Customer1)
Alle logische operatoren gebruiken in SQL Server - SQL Server / TSQL-zelfstudie |
Met ALL kunt u verschillende vergelijkingsoperatoren gebruiken, zoals =, <> , !=,> ,>=, !> , <, <=, !<
Videodemo:Hoe ALLE logische operatoren te gebruiken in SQL / TSQL