Перейти к содержимому

Что такое as в sql

  • автор:

|| (ИЛИ) (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. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Выполните процедуру из статьи How to: Execute a Query that Returns StructuralType Results.
  2. Передайте следующий запрос в качестве аргумента методу 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_],
Все равно такая же ошибка получается

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *