Zrozummy WSZYSTKO na przykładach.
Scenariusz:
Pomyśl o scenariuszu, w którym mamy dwie tabele dbo.Customer i dbo.Customer1. Obie tabele mają kolumnę Wiek. Jeśli chcesz pobrać wszystkie rekordy z tabeli dbo.Klient, w której Wiek jest większy niż maksymalna wartość kolumny Wiek w tabeli dbo.Klient1.Jakie będzie Twoje zapytanie?Rozwiązanie:
Możemy użyć podzapytania i funkcji max, aby napisać nasze zapytanie dla powyższego wymagania. Najpierw utwórzmy tabele.--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) Uzyskaj wszystkie rekordy z tabeli dbo.Customer, gdzie Age jest większe niż maksymalna wartość Age tabeli dbo.Customer1 za pomocą funkcji Subquery i Max.
2) używanie ALL z SubQuery
Dla powyższych wymagań możemy użyj operatora logicznego ALL. W takim przypadku nie musimy używać funkcji Max. ALL będzie porównywać naszą zewnętrzną wartość zapytania z zestawem wartości z podzapytania. Możemy użyć>Wszystko,>WSZYSTKO oznacza większe niż każda wartość zwrócona przez podzapytanie, Innymi słowy większe niż wartość maksymalna.
Select * From dbo.Customer where Age> All ( Select age from dbo.Customer1)
Jak używać wszystkich operatorów logicznych w SQL Server — samouczek SQL Server / TSQL |
W ALL możesz używać różnych operatorów porównania, takich jak =, <> , !=,> ,>=, !> , <, <=, !<
Wideo demonstracyjne:Jak używać ALL Operatorów logicznych w SQL/TSQL