Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So verwenden Sie ALLE logischen Operatoren in SQL Server - SQL Server / TSQL-Tutorial Teil 126

ALL Der logische Operator gibt TRUE zurück, wenn alle Vergleichssätze TRUE sind. ALL vergleicht einen Skalarwert mit einem Satz von Werten aus einer einzelnen Spalte.

Lassen Sie uns ALL anhand von Beispielen verstehen.

Szenario :

Stellen Sie sich ein Szenario vor, in dem wir zwei Tabellen haben, 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 größer als der Höchstwert der Spalte Age in der Tabelle dbo.Customer1 ist. Was wäre Ihre Abfrage.

Lösung:

Wir können die Unterabfrage und die Max-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',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) Rufen Sie alle Datensätze aus der Tabelle dbo.Customer ab, bei denen das Alter größer als der maximale Alterswert der Tabelle dbo.Customer1 ist, indem Sie die Funktion Subquery und Max verwenden.


2) Verwendung von ALL mit SubQuery
Für die obige Anforderung können wir Verwenden Sie ALLE logischen Operatoren. In diesem Fall müssen wir die Max-Funktion nicht verwenden. ALL vergleicht unseren äußeren Abfragewert mit einer Reihe von Werten aus der Unterabfrage. Wir können>All verwenden,>ALL bedeutet größer als jeder von der Unterabfrage zurückgegebene Wert, mit anderen Worten größer als der maximale Wert.

Select * From dbo.Customer
where Age> All ( Select age from dbo.Customer1)
Wie man ALLE logischen Operatoren in SQL Server verwendet - SQL Server / TSQL Tutorial
 

Mit ALL können Sie verschiedene Vergleichsoperatoren wie =, <> , !=,> ,>=, !> , <, <=, !<

Video-Demo:Wie man ALLE logischen Operatoren in SQL / TSQL verwendet