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

Как да използвате ВСИЧКИ логически оператор в SQL Server - SQL Server / TSQL урок, част 126

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

Нека разберем ВСИЧКИ с примери.

Сценарий :

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

Решение:

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

--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) Вземете всички записи от таблицата dbo.Customer, където възрастта е по-голяма от максималната стойност на възрастта на таблицата dbo.Customer1, като използвате функцията Subquery и Max.


2) използвайки ВСИЧКИ с SubQuery
За горното изискване можем използвайте ВСИЧКИ логически оператор. В този случай не е нужно да използваме функцията Max. ALL ще сравни стойността на нашата външна заявка с набор от стойности от подзаявка. Можем да използваме>Всички,>ВСИЧКИ означава по-голямо от всяка стойност, върната от подзаявка, С други думи по-голяма от максималната стойност.

Select * From dbo.Customer
where Age> All ( Select age from dbo.Customer1)
Как да използвате ВСИЧКИ логически оператор в SQL Server - SQL Server / TSQL урок
 

С ВСИЧКИ можете да използвате различни оператори за сравнение като =, <> , !=,> ,>=, !> , <, <=, !<


Видео демонстрация:Как да използвате ВСИЧКИ логически оператор в SQL / TSQL
  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 Server

  2. Проверете дали съществува ред, в противен случай вмъкнете

  3. Какво е „идентификатор от няколко части“ и защо не може да бъде обвързан?

  4. Експортирайте данни от SQL заявка в Excel

  5. Копирайте таблицата в друга база данни на различен SQL Server