AS — Учебник SQL — Schoolsw3.com
schoolsw3.com
САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
❮ SQL Справочник Ключевых слов
AS
Команда AS
команда используется для переименования столбца или таблицы с псевдонимами.
Псевдоним существует только на время выполнения запроса.
Псевдонимы для столбцов
Следующий оператор SQL создает два псевдонима, один для столбца CustomerID и CustomerName:
Пример
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;
Попробуйте сами »
Следующая инструкция SQL создает два псевдонима. Обратите внимание, что он требует двойных кавычек или квадратных скобок, если имя псевдонима содержит пробелы:
Пример
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
Попробуйте сами »
Следующий оператор SQL создает псевдоним «Адрес», которые объединяют четыре столбца (адрес, почтовый индекс, города и страны):
Пример
SELECT CustomerName, Address + ‘, ‘ + PostalCode + ‘ ‘ + City + ‘, ‘ + Country
AS Address
FROM Customers;
Попробуйте сами »
Примечание: Чтобы получить инструкцию SQL, чтобы работать в MySQL использовать следующие:
SELECT CustomerName, CONCAT(Address,’, ‘,PostalCode,’, ‘,City,’, ‘,Country) AS Address
FROM Customers;
Псевдоним для таблиц
Следующая инструкция SQL выбирает все заказы от клиента с CustomerID=4 (вокруг рожка). Мы используем таблицы «клиенты» и «заказы» и даем им псевдонимы таблиц «c» и «o» соответственно (здесь мы используем псевдонимы, чтобы сделать SQL короче):
Пример
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName=»Around the Horn» AND c.CustomerID=o.CustomerID;
Попробуйте сами »
❮ SQL Справочник Ключевых слов
ВЫБОР ЦВЕТА
ТОП Учебники
HTML УчебникCSS Учебник
JavaScript Учебник
КАК Учебник
SQL Учебник
Python Учебник
W3.CSS Учебник
Bootstrap Учебник
PHP Учебник
Java Учебник
C++ Учебник
jQuery Учебник
ТОП Справочники
HTML СправочникCSS Справочник
JavaScript Справочник
SQL Справочник
Python Справочник
W3.CSS Справочник
Bootstrap Справочник
PHP Справочник
HTML Цвета
Java Справочник
Angular Справочник
jQuery Справочник
ТОП Примеры
HTML ПримерыCSS Примеры
JavaScript Примеры
КАК Примеры
SQL Примеры
Python Примеры
W3. CSS Примеры
Bootstrap Примеры
PHP Примеры
Java Примеры
XML Примеры
jQuery Примеры
Форум | О SchoolsW3
SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
Авторское право 1999- Все права защищены.
SchoolsW3 работает на площадке от SW3.CSS.
SQL ВЫБЕРИТЕ КАК — javatpoint
следующий → ← предыдущая
SELECT Column_Name1 AS New_Column_Name, Column_Name2 As New_Column_Name FROM Table_Name; Здесь Column_Name — это имя столбца в исходной таблице, а New_Column_Name — это имя, назначенное конкретному столбцу только для этого конкретного запроса. Это означает, что New_Column_Name — это временное имя, которое будет присвоено запросу. Присвоение временного имени столбцу таблицы: Возьмем таблицу с именем заказы, и она содержит следующие данные:
Пример: Предположим, вы хотите переименовать столбец «day_of_order» и столбец «клиент» как «Дата» и «Клиент» соответственно. Запрос: ВЫБЕРИТЕ day_of_order КАК «Дата», Клиент как «Клиент», Продукт, Количество ИЗ заказов; Результат будет показан в виде этой таблицы:
Из приведенных выше результатов видно, что временно «Day_of_order» переименовывается в «date», а «customer» переименовывается в «client». Примечание. SQL AS — это то же самое, что и SQL ALIAS.Возьмем другой пример. Предположим, у нас есть таблица студентов со следующими данными.
Пример 1: Напишите запрос, чтобы получить имя учащегося и среднее процентное значение учащегося во временных столбцах с именами «Студент» и «Студенческий_процент» соответственно. Запрос: SELECT Student_Name AS Student, AVG (Student_Percentage) AS Average_Percentage ОТ студентов; Здесь для расчета среднего мы использовали функцию AVG() . Далее рассчитанное среднее значение процента будет храниться под временным именем «Average_Percentage». Результат будет показан в виде этой таблицы:
Пример 2: Напишите запрос, чтобы получить номер списка учащихся и номер мобильного телефона студента во временных столбцах с именами «Номер списка» и «Номер мобильного телефона» соответственно. Запрос: mysql> ВЫБЕРИТЕ Student_RollNo КАК «Номер списка», Student_PhoneNumber КАК «Номер мобильного телефона» ОТ студентов; Результат будет показан в виде этой таблицы:
Пример 3: Напишите запрос, чтобы получить номер списка учащихся и номер телефона студента, родной город под временными именами столбцов «Номер списка» и «Информация об учащемся» соответственно. Запрос: mysql> ВЫБЕРИТЕ Student_RollNo AS ‘Roll No’, CONCAT (Student_PhoneNumber, ‘, ‘, Student_HomeTown) AS Student_Info ОТ студентов; Здесь функция CONCAT() объединяет два разных столбца, номер телефона студента и родной город, вместе в один столбец. Кроме того, объединенные значения обоих этих столбцов сохраняются под временно присвоенным именем «Student_Info». Результат будет показан в виде этой таблицы:
Присвоение временного имени таблице Вместо того, чтобы запоминать имена таблиц, мы можем создать для них псевдоним. Мы можем присвоить временное имя столбцам таблицы; аналогично мы можем создать псевдоним таблицы. Давайте разберемся на примере. Напишите запрос для создания псевдонима таблицы с именем «студенты». Запрос: mysql> ВЫБЕРИТЕ s.Student_RollNo, s.Student_Name, s.Student_Gender, s.Student_PhoneNumber, s.Student_HomeTown FROM студентов AS s WHERE s.Student_RollNo = 3; Здесь «s» — это псевдоним, т. е. временное имя, присвоенное таблице «students». Результат будет показан в виде этой таблицы:
Next TopicSQL с пунктом ← предыдущая следующий → |
Каково назначение ключевого слова SQL «AS»?
спросил
Изменено 4 года, 2 месяца назад
Просмотрено 203 тыс. раз
Вы можете задать псевдонимы таблиц в SQL, введя идентификатор сразу после имени таблицы.
SELECT * FROM таблицы t1;
Вы даже можете использовать ключевое слово AS
для обозначения псевдонима.
SELECT * FROM table AS t1;
Какая разница между ними?
Я вижу, что старые администраторы баз данных склонны писать операторы без
, но в большинстве новых руководств он используется.
Обновление: Я знаю, для чего нужны псевдонимы таблиц и столбцов. Мне любопытно, в чем причина наличия отдельного ключевого слова для установки псевдонимов, хотя оно работает и без него.
2
Нет никакой разницы между обоими операторами выше. AS — это просто более явный способ упоминания псевдонима
5
Все, кто ответил до меня, правы. Вы используете его как псевдоним ярлыка для таблицы, когда у вас есть длинные запросы или запросы с соединениями. Вот пара примеров.
Пример 1
SELECT P.ProductName, П.ПродуктГрупп, P.ProductRetailPrice ИЗ ПРОДУКЦИИ AS P
Пример 2
SELECT P.ProductName, P.ProductRetailPrice, O.Количество ИЗ ПРОДУКЦИИ AS P LEFT OUTER JOIN Orders AS O ON O.ProductID = P.ProductID ГДЕ O.OrderID = 123456
Пример 3 Использование ключевого слова AS является хорошей практикой и очень рекомендуется, но можно выполнить тот же запрос и без него (что я и делаю часто).
ВЫБЕРИТЕ P.ProductName, P.ProductRetailPrice, O.Количество ИЗ ПРОДУКЦИИ Р LEFT OUTER JOIN Заказы O ON O.ProductID = P.ProductID ГДЕ O.OrderID = 123456
Как видите, в последнем примере я пропустил ключевое слово AS. И его можно использовать как псевдоним.
Пример 4
ВЫБРАТЬ P.ProductName AS "Product", P.ProductRetailPrice AS "Розничная цена", O.Количество AS "Заказанное количество" ИЗ ПРОДУКЦИИ Р LEFT OUTER JOIN Заказы O ON O. ProductID = P.ProductID ГДЕ O.OrderID = 123456
Результат примера 4
Продукт Розничная цена Заказанное количество Жевательная резинка Blue Raspberry $10 шт./$50, 2 упаковки Коробка Twizzler по 5 долларов США/25 долларов США, 10 коробок
Если вы не уверены, какой синтаксис выбрать, особенно когда кажется, что выбор невелик, обратитесь к книге по эвристикам. Насколько мне известно, единственной книгой по эвристикам для SQL является «Стиль программирования SQL Джо Селко»:
Корреляционное имя чаще называется псевдонимом, но я буду формальным. В SQL-92 они могут иметь необязательный
Оператор AS
, и его следует использовать чтобы было понятно, что что-то получает новое имя. [стр.16]
Таким образом, если вашей команде не нравится соглашение, вы можете обвинить Celko — я знаю, что хочу 😉
ОБНОВЛЕНИЕ 1: IIRC в течение длительного времени Oracle не поддерживал AS
(предыдущая корреляция имя) ключевое слово, которое может объяснить, почему некоторые старожилы не используют его обычно.
ОБНОВЛЕНИЕ 2: термин «имя корреляции», хотя и используется в стандарте SQL, неуместен. В основе лежит концепция «переменной диапазона».
ОБНОВЛЕНИЕ 3: Я только что перечитал то, что написал Celko, и он ошибся: таблица не переименовывается! Я вот думаю:
Корреляционное имя чаще называют псевдонимом, но я буду формальным. В стандартном SQL они могут иметь необязательное ключевое слово
AS
, но его не следует использовать, поскольку может создаться впечатление, что что-то переименовывается, когда это не так. Фактически, его следует опустить, чтобы подчеркнуть, что это переменная диапазона.
0
Ключевое слово AS
предназначено для присвоения имени ALIAS таблице базы данных или столбцу таблицы. В вашем примере оба утверждения верны, но есть обстоятельства, при которых требуется предложение AS (хотя сам оператор AS
является необязательным), например.
ВЫБРАТЬ оклад * 2 КАК "Двойной оклад" ОТ сотрудника;
В этом случае таблица Сотрудник
имеет зарплату
, и мы просто хотим удвоить зарплату с новым именем Двойная зарплата
.
Извините, если мое объяснение неэффективно.
Обновление на основе вашего комментария, вы правы, мое предыдущее заявление было недействительным. Единственная причина, по которой я могу думать, заключается в том, что пункт AS
уже давно существует в мире SQL, и в настоящее время он включен в RDMS для обратной совместимости.
1
Использование будет более очевидным, если вы не используете ‘SELECT *’ (это плохая привычка, от которой вам следует избавиться):
SELECT t1.colA, t2.colB, t3.colC FROMlongtablename AS t1, otherlongtablename КАК t2, еще одно длинное имя таблицы КАК t3, ГДЕ t1.colD = t2.colE...
1
AS
в данном случае является необязательным ключевым словом, определенным в ANSI SQL 92 для определения <<корреляционного имени>
, обычно известного как псевдоним для таблицы.
<ссылка на таблицу> ::= <имя таблицы> [ [ AS ] <имя корреляции> [ <левая скобка> <список производных столбцов> <правая скобка> ] ] | <производная таблица> [ AS ] <имя корреляции> [ <левая скобка> <список производных столбцов> <правая скобка> ] | <присоединенная таблица> <производная таблица> ::= <табличный подзапрос> <список производных столбцов> ::= <список имен столбцов> <список имен столбцов> ::= <имя столбца> [ { <запятая> <имя столбца> }... ] Синтаксические правила 1) <имя корреляции>, непосредственно содержащееся в <ссылке на таблицу>. ence> TR выставляется TR. <имя таблицы> немедленно содержалось в <ссылке на таблицу> TR выставляется TR тогда и только тогда, когда TR не указывает <имя корреляции>.
Рекомендуется НЕ использовать ключевое слово AS
для псевдонимов таблиц, поскольку оно не поддерживается рядом широко используемых баз данных.
4
На заре SQL он был выбран как решение проблемы дублирования имен столбцов (см. примечание ниже).
Чтобы заимствовать запрос из другого ответа:
SELECT P.ProductName, P.ProductRetailPrice, O.Количество ИЗ ПРОДУКЦИИ AS P INNER JOIN Orders AS O ON O.ProductID = P.ProductID ГДЕ O.OrderID = 123456
Столбец ProductID
(и, возможно, другие) является общим для обеих таблиц, и, поскольку синтаксис условия соединения требует ссылки на обе таблицы, «точечная квалификация» обеспечивает устранение неоднозначности.
Конечно, лучшим решением было бы никогда не допускать дублирования имен столбцов! К счастью, если вы используете новый синтаксис NATURAL JOIN
, необходимость в переменных диапазона P
и O
отпадает:
SELECT ProductName, ProductRetailPrice, Quantity ИЗ ПРОДУКЦИИ NATURAL JOIN Заказы ГДЕ OrderID = 123456
Но почему ключевое слово AS
является необязательным? Мое воспоминание из личной беседы с членом комитета по стандарту SQL (либо Джо Селко, либо Хью Дарвеном) заключалось в том, что их воспоминание заключалось в том, что во время определения стандарта продукт одного поставщика (Microsoft?) требовал его включения и продукт другого поставщика (Oracle?) требовал его исключения, поэтому выбранный компромисс состоял в том, чтобы сделать его необязательным. У меня нет цитаты за это, вы либо верите мне, либо нет!
На заре реляционной модели перекрестное произведение (или тета-соединение, или равное соединение) отношений, заголовки которых не пересекаются, порождало отношение с двумя атрибутами с одинаковыми именами; Решение Кодда этой проблемы в его реляционном исчислении заключалось в использовании точечной квалификации, которая позже была эмулирована в SQL (позднее выяснилось, что так называемое естественное соединение было примитивным без потерь, то есть естественное соединение может заменить все тета-соединения и четное перекрестное произведение.)
Источник: Business System 12, примечания к слайдам презентации, представленной на семинаре по внедрению TTM, Университет Нортумбрии, 2–3 июня 2011 г. Хью Дарвеном
3
Это формальный способ указать корреляционное имя для объекта, чтобы вы могли легко обратиться к нему в другой части запроса.
Если вы создадите запрос с помощью редактора запросов в SQL Server 2012, например, вы получите следующее:
ВЫБЕРИТЕ e.