|| (ИЛИ) (Entity SQL)
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
См. также раздел
Составные операторы (Transact-SQL)
Составные операторы выполняют определенные операции и задают исходной величине значение результата операции. Например, если переменная @x равна 35, то @x += 2 принимает исходное значение @x, прибавляет 2 и присваивает переменной @x новое значение (37).
Transact-SQL поддерживает следующие составные операторы.
| Оператор | Ссылка на дополнительные сведения | Действие |
|---|---|---|
| += | += (присваивание сложения) (Transact-SQL) | Добавляет некоторое значение к исходному значению и задает исходной величине значение результата. |
| -= | –= (присваивание вычитания) (Transact-SQL) | Вычитает определенное значение из исходного значения и задает исходной величине значение результата. |
| *= | *= (присваивание умножения) (Transact-SQL) | Умножает исходное значение на определенное значение и задает исходной величине значение результата. |
| /= | (присваивание деления) (Transact-SQL) | Делит исходное значение на определенное значение и задает исходной величине значение результата. |
| %= | (присваивание модуля) (Transact-SQL) | Делит исходное значение на определенное значение и задает исходной величине значение остатка от деления. |
| &= | &= (побитовое присваивание И) (Transact-SQL) | Выполняет операцию побитового И и задает исходной величине значение результата. |
| ^= | ^= (побитовое эксклюзивное ИЛИ назначение) (Transact-SQL) | Выполняет операцию побитового исключающего ИЛИ и задает исходной величине значение результата. |
| |= | |= (битовое или назначение) (Transact-SQL) | Выполняет операцию побитового исключающего И и задает исходной величине значение результата. |
Синтаксис
expression operator expression
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
выражение
Любое допустимое выражение любого типа данных числовой категории.
Типы результата
Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
Замечания
Дополнительные сведения см. в разделах, посвященных соответствующим операторам.
Примеры
В следующих примерах демонстрируется использование составных операторов.
DECLARE @x1 INT = 27; SET @x1 += 2 ; SELECT @x1 AS Added_2; DECLARE @x2 INT = 27; SET @x2 -= 2 ; SELECT @x2 AS Subtracted_2; DECLARE @x3 INT = 27; SET @x3 *= 2 ; SELECT @x3 AS Multiplied_by_2; DECLARE @x4 INT = 27; SET @x4 /= 2 ; SELECT @x4 AS Divided_by_2; DECLARE @x5 INT = 27; SET @x5 %= 2 ; SELECT @x5 AS Modulo_of_27_divided_by_2; DECLARE @x6 INT = 9; SET @x6 &= 13 ; SELECT @x6 AS Bitwise_AND; DECLARE @x7 INT = 27; SET @x7 ^= 2 ; SELECT @x7 AS Bitwise_Exclusive_OR; DECLARE @x8 INT = 27; SET @x8 |= 2 ; SELECT @x8 AS Bitwise_OR;
Операторы SQL
Операторы SQL используются для указания сравнений между выражениями.
Можно использовать различные типы операторов SQL.
«COSTS».»UNIT_COST» BETWEEN 100.0 AND 5000.0
Определяет, находится ли значение в диапазоне между двумя неинклюзивными ограничениями.
Оператору BETWEEN может предшествовать оператор NOT , отрицающий это условие.
BETWEEN [LowerBound] AND [UpperBound]
«COSTS».»UNIT_COST» IN(200, 600, ‘A’)
Определяет, присутствует ли значение в заданном наборе значений.
IN ([Comma Separated List])
«PRODUCTS».»PROD_NAME» IS NULL
Определяет, является ли значение пустым (null).
«PRODUCTS».»PROD_NAME» LIKE ‘prod%’
Определяет, совпадает ли значение со всей строкой или частью строки. Часто используется со знаками подстановки для указания совпадения с любой строкой, содержащей ноль или более символов (%), а также для указания совпадения с любым одиночным символом (_).
(FEDERAL_REVENUE + LOCAL_REVENUE) — TOTAL_EXPENDITURE
Знак сложения «плюс».
(FEDERAL_REVENUE + LOCAL_REVENUE) — TOTAL_EXPENDITURE
Знак вычитания «минус».
Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Базы данных › MySQL › Выборка данных › Оператор AS. Псевдонимы в SQL
Оператор AS. Псевдонимы в SQL
Псевдонимы используется для предоставления столбцов или таблиц с именем отличным от оригинала, то есть, вы можете переименовать столбец при выборке в любое удобное для вас имя.
Для создания псевдонимов используется оператор AS .
Практический пример
В вашей таблице Users есть столбец first_middle_last_name , который содержит в себе полное имя пользователя. У данного столбца очень длинное имя, и есть использовать не очень удобно. Поэтому его можно просто переименовать в более короткое и понятное имя: например, в name_user
SELECT first_middle_last_name AS 'name_user' FROM Users;
Записи по теме
- Условный оператор WHERE в SQL
- Уникальные значения в SQL, команда DISTINCT
- Выбор данных в SQL, команда SELECT
Комментарии к записи
Зачем такие сложности в не нужных действиях? это только путает новичка зачем создавать копию таблицы?
что бы в ней и запутаться?
Здесь создаётся не копия таблицы, а псевдоним для столбца таблицы
на основании данных из другой таблицы, при помощи AS создаю новый столбец, но не могу теперь к нему обратиться, чтоб проверить не одинаковые ли данные в этом столбце с другим столбцом(
Какую СУБД используете? Пришлите текст вашего запроса в комментарии ниже, посмотрим на него.
Весь запрос приводить не буду очень длинный, приведу кусочек:
COALESCE(
(
SELECT TOP 1 ‘+7 (‘ + p.[Phone Code] + ‘) ‘ + LEFT(p.[Phone Number],3) + ‘-‘ + SUBSTRING(p.[Phone Number],4,2) + ‘-‘ + RIGHT(p.[Phone Number],2)
FROM [trance FC`$Phone] p
WHERE p.[Employee No_]=e.No_ AND p.[Default]=’1’ AND p.[Phone Number] »
),
e.[Mobile Phone No_]
) AS [MobileNo_],
CASE
WHEN e.[Mobile Phone No_] = e.[MobileNo_] THEN »
ELSE e.[Mobile Phone No_]
END AS [MobilePhoneNo_],
CASE
WHEN e.[Mobile Phone No_] = e.[Home Phone No_] OR e.[Home Phone No_] = e.[MobileNo_] THEN »
ELSE e.[Home Phone No_]
END AS [HomePhoneNo_], $SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = «Server=$SqlServer; Database=$SqlCatalog; Trusted_Connection=True;»
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $sql
$SqlCmd.Connection = $SqlConnection
$DataAdapter = new-object System.Data.SqlClient.SqlDataAdapter $SqlCmd
$Dataset = new-object System.Data.Dataset
write-output $DataAdapter.Fill($Dataset) | Out-Null
Тут выскакивает ошибка:
Исключение при вызове «Fill» с «1» аргументами: «Incorrect syntax near the keyword ‘WHEN’.
Incorrect syntax near ‘,’.»
строка:1 знак:1
+ write-output $DataAdapter.Fill($Dataset) | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SqlException
Посмотрел бегло запрос, ругается на конструкцию WHEN. И сразу можно выделить ошибку, когда у вас отрабатывает конструкция WHEN, должен выполниться блок THEN, а в этом блоке должно быть указано значение. В вашем случае это символ », и он строчный. Строчные символы необходимо заключать в кавычки.
CASE
WHEN e.[Mobile Phone No_] = e.[MobileNo_] THEN »
ELSE e.[Mobile Phone No_]
END AS [MobilePhoneNo_],
Прошу прощения, такая ошибка:
Исключение при вызове «Fill» с «1» аргументами: «Invalid column name ‘MobileNo_’.
Invalid column name ‘MobileNo_’.»
строка:1 знак:1
+ write-output $DataAdapter.Fill($Dataset) | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SqlException
Эта ошибка указывает на некорректное имя столбца в таблице. Проверьте правильность имени столбца, если имя правильное, необходимо посмотреть полный запрос , как и когда определяется псевдоним для таблицы.
Псевдоним определяется так:
COALESCE(
(
SELECT TOP 1 ‘+7 (‘ + p.[Phone Code] + ‘) ‘ + LEFT(p.[Phone Number],3) + ‘-‘ + SUBSTRING(p.[Phone Number],4,2) + ‘-‘ + RIGHT(p.[Phone Number],2)
FROM [trance FC`$Phone] p
WHERE p.[Employee No_]=e.No_ AND p.[Default]=’1’ AND p.[Phone Number] »
),
e.[Mobile Phone No_]
) AS [MobileNo_],
*псевдоним для таблицы
FROM [trance FC`$Employee] e
Пробовал делать так:
CASE
WHEN e.[Mobile Phone No_] = MobileNo_ THEN »
ELSE e.[Mobile Phone No_]
END AS [MobilePhoneNo_],
Все равно такая же ошибка получается