Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como usar ALL Logical Operator no SQL Server - Tutorial SQL Server / TSQL Parte 126

ALL O operador lógico retornará TRUE se todo o conjunto de comparações for TRUE. ALL compara um valor escalar com um conjunto de valores de uma única coluna.

Vamos entender ALL com exemplos.

Cenário:

Pense em um cenário onde temos duas tabelas dbo.Customer e dbo.Customer1. Ambas as tabelas possuem a coluna Idade. Se você precisar obter todos os registros da tabela dbo.Customer onde Age é maior que o valor máximo da coluna Age na tabela dbo.Customer1. Qual seria sua consulta.

Solução:

Podemos usar subconsulta e função max para escrever nossa consulta para o requisito acima. Vamos criar as tabelas primeiro.

--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) Obtenha todos os registros da tabela dbo.Customer onde Age é maior que o valor máximo de Age da tabela dbo.Customer1 usando a função Subquery e Max.


2) usando ALL com SubQuery
Para o requisito acima, podemos use ALL operador lógico. Nesse caso, não precisamos usar a função Max. ALL vai comparar nosso valor de consulta externa com o conjunto de valores da subconsulta. Podemos usar>All,>ALL significa maior que todo valor retornado pela subconsulta, Em outras palavras, maior que o valor máximo.

Select * From dbo.Customer
where Age> All ( Select age from dbo.Customer1)
Como usar TODOS os operadores lógicos no SQL Server - Tutorial SQL Server / TSQL
 

Com ALL você pode usar diferentes operadores de comparação como =, <> , !=,> ,>=, !> , <, <=, !<


Vídeo Demo:Como usar TODOS os Operadores Lógicos em SQL/TSQL