Забележка: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