Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come utilizzare TUTTI gli operatori logici in SQL Server - Tutorial SQL Server / TSQL Parte 126

ALL L'operatore logico restituisce TRUE se tutti i confronti di un insieme sono TRUE. ALL confronta un valore scalare con un insieme di valori di una singola colonna.

Capiamo ALL con esempi.

Scenario:

Pensa a uno scenario in cui abbiamo due tabelle dbo.Customer e dbo.Customer1. Entrambe le tabelle hanno la colonna Età. Se è necessario ottenere tutti i record dalla tabella dbo.Customer in cui Age è maggiore del valore massimo della colonna Age nella tabella dbo.Customer1. Quale sarebbe la tua query.

Soluzione:

Possiamo usare subquery e max function per scrivere la nostra query per il requisito di cui sopra. Creiamo prima le tabelle.

--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) Ottieni tutti i record dalla tabella dbo.Customer in cui l'età è maggiore del valore massimo dell'età della tabella dbo.Customer1 utilizzando la funzione Subquery e Max.


2) utilizzando ALL con SubQuery
Per i requisiti di cui sopra possiamo usa TUTTO l'operatore logico. In tal caso non è necessario utilizzare la funzione Max. ALL confronterà il nostro valore della query esterna con l'insieme di valori della sottoquery. Possiamo usare>Tutto,>TUTTO significa maggiore di ogni valore restituito dalla sottoquery, In altre parole maggiore del valore massimo.

Select * From dbo.Customer
where Age> All ( Select age from dbo.Customer1)
Come utilizzare TUTTI gli operatori logici in SQL Server - Tutorial SQL Server / TSQL
 

Con ALL puoi utilizzare diversi operatori di confronto come =, <> , !=,> ,>=, !> , <, <=, !<


Video Demo:come utilizzare TUTTI gli operatori logici in SQL / TSQL