|| (ИЛИ) (Entity SQL) — ADO.NET
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
Объединяет два выражения типа Boolean
.
Синтаксис
boolean_expression OR boolean_expression -- or boolean_expression || boolean_expression
Аргументы
boolean_expression
Любое допустимое выражение, возвращающее .Boolean
Возвращаемое значение
true
, если любое из условий есть true
; в противном случае false
.
OR — логический оператор Entity SQL. Он используется только для объединения двух условий. Если в инструкции используется более одного логического оператора, то операторы OR вычисляются после операторов AND. Однако порядок выполнения можно изменить с помощью скобок.
Двойная вертикальная черта (||) имеет ту же функциональность, что и оператор OR.
В следующей матрице показаны возможные сочетания входных и возвращаемых значений.
TRUE | FALSE | NULL | |
---|---|---|---|
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | NULL |
NULL | TRUE | NULL | NULL |
Пример
Следующий запрос Entity SQL использует оператор OR, чтобы объединить два выражения типа Boolean
. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.
Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
-- OR SELECT VALUE product FROM AdventureWorksEntities.Products AS product WHERE product.ListPrice = @price1 OR product.ListPrice = @price2 -- || SELECT VALUE product FROM AdventureWorksEntities.Products AS product WHERE product.ListPrice = @price1 || product.ListPrice = @price2
См. также раздел
- Справочник по Entity SQL
Предикаты SQL AND и OR: примеры, синтаксис
Операторы SQL AND и SQL OR — предикаты языка SQL, служащие для создания логических выражений. В SQL предикатами называются операторы, возвращающие значения TRUE или FALSE. Предикат SQL AND — эквивалент логического умножения (конъюнкции), предикат SQL OR — эквивалент логического сложения (дизъюнкции).
Таблица истинности для предикатов следующая:
first_expression | last_expression | AND | OR |
TRUE | TRUE | TRUE | TRUE |
TRUE | FALSE | FALSE | TRUE |
FALSE | TRUE | FALSE | TRUE |
FALSE | FALSE | FALSE | FALSE |
Это значит, что, для выполнения условия предиката SQL AND должны быть выполнены оба условия. Для выполнения предиката SQL OR должно быть выполнено хотя бы одно условие.
Предикат SQL AND имеет следующий синтаксис:
boolean_expression AND boolean_expression
Предикат SQL OR имеет следующий синтаксис:
boolean_expression OR boolean_expression
Примеры оператора SQL AND & OR. Имеется следующая таблица Planets:
ID | PlanetName | Radius | SunSeason | OpeningYear | Opener | |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
2 | Saturn | 60268 | 10759.22 | — | Yes | — |
3 | Neptune | 24764 | 60190 | 1846 | Yes | John Couch Adams |
4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
Пример 1.
SELECT * FROM Planets WHERE Radius < 10000 AND OpeningYear > 1620
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 1659 | No | Christiaan Huygens | |
4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
Пример 2. Используя операторы SQL AND и SQL OR вывести записи планет, названия которых начинаются с буквы «N» или заканчиваются на букву «s» и не имеющие колец:
SELECT * FROM Planets WHERE (PlanetName LIKE 'N%' OR PlanetName LIKE '%s') AND HavingRings = 'No'
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
В этом примере используются как предикат SQL AND так и SQL OR. Конечно же, в запросах их можно использовать сколько угодно раз (так же как и скобки, которые их ограничивают), для задания более точного условия выборки.
Оператор SQL Server OR на практических примерах
Резюме : в этом руководстве вы узнаете, как использовать оператор SQL Server ИЛИ
для объединения двух логических выражений.
Знакомство с SQL Server
Оператор OR
SQL Server
— это логический оператор, позволяющий комбинировать два логических выражения. Он возвращает TRUE
, когда любое из условий оценивается как TRUE
.
Ниже показан синтаксис ИЛИ
оператор:
логическое_выражение ИЛИ логическое_выражение Язык кода: SQL (язык структурированных запросов) (sql)
В этом синтаксисе boolean_expression
— это любое допустимое логическое выражение, которое оценивается как истинное, ложное и неизвестное.
В следующей таблице показан результат оператора ИЛИ
при объединении ИСТИНА
, ЛОЖЬ
НЕИЗВЕСТНО
:ИСТИНА | 0047 | ЛОЖЬ | НЕИЗВЕСТНО |
---|---|---|---|
ВЕРНО | ВЕРНО | ВЕРНО | 2|
ИСТИНА | ЛОЖЬ | НЕИЗВЕСТНО | |
НЕИЗВЕСТНО | ИСТИНА | НЕИЗВЕСТНО | НЕИЗВЕСТНО |
При использовании более одного логического оператора в операторе SQL Server оценивает операторы ИЛИ
после 9Оператор 0005 И . Однако вы можете использовать круглые скобки, чтобы изменить порядок оценки.
Примеры операторов SQL Server
OR
См. следующую таблицу production.roducts
из примера базы данных.
A) Пример использования оператора
OR
SELECT наименование товара, список цен ОТ производство. продукция ГДЕ list_price < 200 ИЛИ list_price > 6000 СОРТИРОВАТЬ ПО список цен; Язык кода: SQL (язык структурированных запросов) (sql)
B) Пример использования нескольких операторов
OR
Следующий оператор находит продукты, идентификатор бренда которых равен 1, 2 или 4:
SELECT наименование товара, brand_id ОТ производство.продукция ГДЕ идентификатор_бренда = 1 ИЛИ бренд_id = 2 ИЛИ бренд_id = 4 СОРТИРОВАТЬ ПО brand_id DESC; Язык кода: SQL (язык структурированных запросов) (sql)
Вы можете заменить несколько операторов OR
на Оператор IN
, как показано в следующем запросе:
SELECT наименование товара, brand_id ОТ производство.продукция ГДЕ brand_id IN (1, 2, 3) СОРТИРОВАТЬ ПО brand_id DESC; Язык кода: SQL (язык структурированных запросов) (sql)
C) Использование оператора
OR
с оператором AND
примерРассмотрим следующий пример:
SELECT наименование товара, идентификатор_бренда, список цен ОТ производство. продукция ГДЕ идентификатор_бренда = 1 ИЛИ бренд_id = 2 И list_price > 500 СОРТИРОВАТЬ ПО brand_id DESC, список цен; Язык кода: SQL (язык структурированных запросов) (sql)
В этом примере мы использовали операторы ИЛИ
и И
. Как всегда, SQL Server сначала оценивал оператор AND
. Таким образом, запрос возвратил продукты с идентификатором бренда 2 и прейскурантной ценой выше 500 или товары с идентификатором бренда 1.
Чтобы найти продукты с идентификатором бренда 1 или 2 и прейскурантной ценой выше 500, используйте круглые скобки, как показано в следующем запросе:
ВЫБОР наименование товара, идентификатор_бренда, список цен ОТ производство.продукция ГДЕ (brand_id = 1 ИЛИ brand_id = 2) И list_price > 500 СОРТИРОВАТЬ ПО идентификатор_бренда; Язык кода: SQL (язык структурированных запросов) (sql)
В этом руководстве вы узнали, как использовать оператор SQL Server OR
для формирования условия путем объединения двух логических выражений.
Оператор SQL ИЛИ и его практическое применение
Резюме : в этом руководстве вы узнаете, как использовать оператор SQL ИЛИ для объединения двух логических выражений.
Введение в оператор SQL OR
SQL OR — это логический оператор, который объединяет два логических выражения. Оператор SQL OR возвращает значение true или false в зависимости от результатов выражений.
Оператор ИЛИ обычно используется в предложении WHERE
оператора SELECT
, UPDATE
или DELETE
для формирования гибкого условия.
Ниже показан синтаксис оператора SQL ИЛИ:
ВЫБОР столбец1, столбец2, ... ОТ Таблица 1 ГДЕ выражение1 ИЛИ выражение2;
В следующей таблице показан результат оператора OR
при сравнении значений true, false и NULL.
ИСТИНА | ЛОЖЬ | НОЛЬ | 3 | ВЕРНО | ВЕРНО | ВЕРНО |
НЕТ |
Обратите внимание, что оператор ИЛИ всегда возвращает значение true, если одно из выражений истинно.
Если система базы данных поддерживает функцию короткого замыкания, оператор OR
прекращает вычисление оставшихся частей условия, как только одно из выражений становится истинным.
Обратите внимание, что функция короткого замыкания помогает системе базы данных экономить ресурсы ЦП, прерывая обработку оставшейся части логического выражения, как только она может определить результат. Для получения дополнительной информации о функции короткого замыкания ознакомьтесь с руководством по оператору SQL AND.
При использовании оператора ИЛИ с оператором И система базы данных оценивает оператор ИЛИ после оператора И. Это известно как правило приоритета. Однако вы можете использовать круглые скобки, чтобы изменить порядок оценки.
Примеры оператора SQL ИЛИ
Мы будем использовать таблицу сотрудников
из примера базы данных для демонстрации оператора ИЛИ
.
Следующий оператор находит всех сотрудников, которые присоединились к компании в 1997 или 1998.
ВЫБЕРИТЕ имя, фамилия, Дата приема на работу ОТ сотрудники ГДЕ ГОД (дата_найма) = 1997 ИЛИ ГОД (дата_найма) = 1998 СОРТИРОВАТЬ ПО имя, фамилия;
Попробуйте
Чтобы найти всех сотрудников, которые пришли в компанию в 1997 или 1997 году и работали в отделе с идентификатором 3, используйте операторы И
и ИЛИ
следующим образом:
6 имя, фамилия, Дата приема на работу, id_отдела ОТ сотрудники ГДЕ id_отдела = 3 И ( ГОД (дата_найма) = 1997 ИЛИ ГОД (наем_дата) = 1998 ) СОРТИРОВАТЬ ПО имя, фамилия;
Попробуйте
Если не использовать круглые скобки, запрос будет получать сотрудников, которые пришли в компанию в 1997 году и работали в отделе с идентификатором 3, или сотрудников, которые пришли в компанию в 1998 году, независимо от отдела.
Это связано с тем, что система базы данных оценивает оператор OR
после оператора AND
.