Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да използвате ВСЕКИ / НЯКОЙ логически оператор в SQL Server - SQL Server / TSQL урок, част 127

ANY Logical оператор връща TRUE, ако някое от набор от сравнения е TRUE. ANY сравнява скаларна стойност с набор от стойности от една колона.

Забележка:SOME и ANY са еквивалентни. Ще използваме ВСЕКИ в нашите примери по-долу.

Сценарий :

Да кажем, че имаме две таблици dbo.Customer и dbo.Customer1. И двете таблици имат колоната Възраст. Ако трябва да получите всички записи от таблицата dbo.Customer, където Age е поне по-голяма от една стойност от колоната Age от таблицата dbo.Customer1.

Решение:

Можем да използваме подзаявка и функция MIN, за да напишем нашата заявка за горното изискване. Нека първо създадем таблиците.

--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) Вземете всички записи от таблицата dbo.Customer, където възрастта е по-голяма от минималната стойност на възрастта на таблицата dbo.Customer1, като използвате функцията Subquery и Min.
 
Select * From dbo.Customer
where Age> ( Select MIN(age) from dbo.Customer1)
 
 
 
 2) Използвайте ВСЕКИ, за да получите необходимите резултати.
Можем да използваме ВСЕКИ, вместо да използваме функцията Мин с подзаявка. Тъй като искаме да получим всички редове от dbo.Customer, където Age е по-голяма от която и да е стойност на колона Age в dbo.Customer, ще използваме>Any.
>ANY означава по-голямо от поне една стойност, тоест по-голямо от минимума.

Select * From dbo.Customer
where Age>ANY ( Select age from dbo.Customer1)
 
 
 Получихме същите записи, които бяха върнати от първата ни заявка.
Ако ще използвате =ANY, което е равно на IN. С ANY можете да използвате различни оператори за сравнение като =, <> , !=,> ,>=, !> , <, <=, !<



Видео Демо :Как да използвам ВСЕКИ / НЯКОЙ логически оператор в SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да свържа sql сървър с php с помощта на xampp?

  2. 3 начина за конвертиране на HEX в INT в SQL Server (T-SQL)

  3. Архивиране на SQL Server 2017 -3

  4. Преглед на компресията на данни в SQL Server

  5. Попълване на липсващи дати по групи