sql >> Database >  >> RDS >> Sqlserver

Hoe ELKE / SOMMIGE logische operator in SQL Server te gebruiken - SQL Server / TSQL-zelfstudie, deel 127

ANY Logische operator retourneert TRUE als een van een reeks vergelijkingen TRUE is. ANY vergelijkt een scalaire waarde met een enkele kolom met waarden.

Opmerking:SOME en ANY zijn equivalent. We gaan ELKE gebruiken in onze onderstaande voorbeelden.

Scenario:

Laten we zeggen dat we twee tabellen hebben dbo.Customer en dbo.Customer1. Beide tabellen hebben de kolom Leeftijd. Als u alle records uit de dbo.Klanttabel wilt halen, waarbij Leeftijd ten minste groter is dan één waarde uit de kolom Leeftijd uit de tabel dbo.Klant1.

Oplossing:

We kunnen de subquery- en MIN-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',10),
(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 op uit de dbo.Customer-tabel waar Age groter is dan de minimum Age-waarde van de dbo.Customer1-tabel met behulp van de Subquery en de Min-functie.
 
Select * From dbo.Customer
where Age> ( Select MIN(age) from dbo.Customer1)
 
 
 
 2) Gebruik ANY om de vereiste resultaten te krijgen.
We kunnen ANY gebruiken in plaats van de Min-functie met subquery. Omdat we alle rijen van dbo.Customer willen krijgen waarbij Leeftijd groter is dan een waarde van de kolom Leeftijd in dbo.Customer, zullen we>Any gebruiken.
>ANY betekent groter dan ten minste één waarde, dat wil zeggen groter dan het minimum.

Select * From dbo.Customer
where Age>ANY ( Select age from dbo.Customer1)
 
 
 We hebben dezelfde records die werden geretourneerd door onze eerste query.
Als u =ANY gebruikt, is dat gelijk aan IN. Met ANY kun je verschillende vergelijkingsoperatoren gebruiken, zoals =, <> , !=,> ,>=, !> , <, <=, !<



Video Demo:ELKE / SOMMIGE logische operator gebruiken in SQL Server

  1. Installeer MySQL op een Mac

  2. Verbinding maken met Oracle 12c Database vanuit Pentaho Data Integration (Kettle) Community Edition

  3. Hoe een cursor correct te sluiten in Android

  4. Het repareren van gaten/hiaten in getallen gegenereerd door Postgres-reeks