Sql and: SQL AND, OR, NOT Operators

Содержание

AND (Transact-SQL) — SQL Server

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 2 мин

Область применения: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)

Объединяет два логических выражения и возвращает значение TRUE, если оба выражения имеют значение TRUE. Если в инструкции используется более одного логического оператора, то операторы AND вычисляются первыми. Можно изменить порядок вычисления с помощью скобок.

Синтаксические обозначения в Transact-SQL

Синтаксис

boolean_expression AND boolean_expression  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

boolean_expression
Любое допустимое выражение, результатом которого являются логические значения TRUE, FALSE или UNKNOWN.

Типы результата

Boolean

Значение результата

Возвращает значение TRUE, если оба выражения — TRUE.

В следующей диаграмме показаны результаты сравнения значений TRUE и FALSE с использованием оператора AND.

TRUEFALSEUNKNOWN
TRUETRUEFALSEUNKNOWN
FALSEFALSEFALSEFALSE
UNKNOWNUNKNOWNFALSEUNKNOWN

Примеры

A.

Использование оператора AND

В следующем примере выбираются данные о сотрудниках, занимающих должность Marketing Assistant, начисленная продолжительность отпуска для которых составляет более 41 часов.

-- Uses AdventureWorks  
  
SELECT  BusinessEntityID, LoginID, JobTitle, VacationHours   
FROM HumanResources.Employee  
WHERE JobTitle = 'Marketing Assistant'  
AND VacationHours > 41 ;  

Б. Использование оператора AND в инструкции IF

В следующих примерах демонстрируется использование оператора AND в инструкции IF. В первой инструкции условия 1 = 1 и 2 = 2 имеют значение true, отсюда итоговый результат true. Во втором примере аргумент

2 = 17 имеет значение false, поэтому результатом будет false.

IF 1 = 1 AND 2 = 2  
BEGIN  
   PRINT 'First Example is TRUE'  
END  
ELSE PRINT 'First Example is FALSE' ;  
GO  
  
IF 1 = 1 AND 2 = 17  
BEGIN  
   PRINT 'Second Example is TRUE'  
END  
ELSE PRINT 'Second Example is FALSE' ;  
GO  

См.

также:

Встроенные функции (Transact-SQL)
Операторы (Transact-SQL)
SELECT (Transact-SQL)
Предложение WHERE (Transact-SQL)

Операторы SQL: AND и OR.

Операторы SQL: AND и OR. — it-black.ru

Операторы AND и OR — предикаты языка SQL, служащие для создания логических выражений. В SQL предикатами называются операторы, возвращающие значения TRUE или FALSE. Предикат AND — эквивалент логического умножения (конъюнкции), предикат OR — эквивалент логического сложения (дизъюнкции).

Таблица истинности для предикатов:

first_expressionlast_expressionANDOR
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

Для выполнения условия предиката AND должны быть выполнены оба условия. Для выполнения предиката OR должно быть выполнено хотя бы одно условие.

Предикат AND имеет следующий синтаксис:


boolean_expression AND boolean_expression

Предикат OR имеет следующий синтаксис:


boolean_expression OR boolean_expression

Примеры оператора SQL AND & OR. Имеется следующая таблица Planets:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRingsOpener
1Mars33966871659NoChristiaan Huygens
2Saturn6026810759.22Yes
3Neptune24764601901846YesJohn Couch Adams
4Mercury2439115.
88
1631NoNicolaus Copernicus
5Venus60512431610NoGalileo Galilei

Пример 1. Используя операторы AND и OR вывести записи планет, у которых радиус планеты меньше 10000 и открытых (OpeningYear) после 1620:


SELECT * FROM Planets WHERE Radius  1620;

Пример 2. Используя операторы AND и OR вывести записи планет, названия которых начинаются с буквы «N» или заканчиваются на букву «s» и не имеющие колец:


SELECT *
FROM Planets
WHERE (PlanetName LIKE 'N%'
OR PlanetName LIKE '%s')
AND HavingRings = 'No';

Самостоятельно создайте таблицу Planets и выполните каждый пример. В комментариях можете писать новые примеры к данной таблице и не только.