Псевдоним (SQL)
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2013 г. ) |
Псевдоним — это функция SQL , которая поддерживается большинством, если не всеми, системами управления реляционными базами данных (СУБД) . Псевдонимы предоставляют пользователям возможность уменьшить объем кода, необходимого для запроса, и сделать запросы более понятными. Кроме того, псевдонимы необходимы при выполнении самосоединений (т. е. соединения таблицы с самой собой).
В SQL вы можете использовать псевдонимы для таблиц и столбцов . псевдоним таблицы называется корреляционным именем . В соответствии со стандартом SQL [1] Программист может использовать псевдоним, чтобы временно присвоить другое имя таблице или столбцу на время выполнения текущего запроса SELECT . Назначение псевдонима фактически не переименовывает столбец или таблицу. Это часто бывает полезно, когда таблицы или их столбцы имеют очень длинные или сложные имена. Имя псевдонима может быть любым, но обычно оно короткое. Например, часто можно использовать псевдоним таблицы, такой как «pi», для таблицы с именем «price_information».
Общий синтаксис псевдонима: SELECT * FROM table_name [AS] alias_name
. Обратите внимание, что ключевое слово AS является необязательным и обычно сохраняется для удобства чтения. Вот некоторые примеры данных, на которые будут ссылаться приведенные ниже запросы:
ID отдела | Название отдела |
---|---|
31 | Продажи |
33 | Инженерное дело |
34 | Канцелярский |
35 | Маркетинг |
Использование псевдонима таблицы:
SELECT D.DepartmentName FROM Department AS D
Мы также можем написать тот же запрос следующим образом (обратите внимание, что предложение AS на этот раз опущено):
SELECT D.DepartmentName FROM Department D
Псевдоним столбца аналогичен:
SELECT d.DepartmentId AS Id, d.DepartmentName AS Name FROM Department d
В возвращаемых наборах результатов будут возвращены данные, показанные выше, за единственным исключением: «DepartmentID» будет отображаться как «Id», а «DepartmentName» будет отображаться как «Name».
Кроме того, если выбирается только одна таблица и запрос не использует соединения таблиц , допустимо опустить имя таблицы или псевдоним таблицы из имени столбца в инструкции SELECT. Пример следующий:
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d
Некоторые системы, такие как Postgres [2] и Престо, [3] поддержка указания псевдонимов столбцов вместе с псевдонимами таблиц. Например
SELECT D.Id FROM Department AS D(Id)
даст тот же набор результатов, что и раньше. В этом синтаксисе разрешено опускать псевдонимы для некоторых имен столбцов. В этом примере для DepartmentId был предоставлен псевдоним, но для DepartmentName опущен. Столбцы с неуказанными псевдонимами останутся без псевдонимов. Этот синтаксис часто используется с выражениями, которые не создают полезных имен таблиц и столбцов, например ЗНАЧЕНИЯ. [4] и УННЕСТ. [5] В качестве примера можно удобно протестировать приведенные выше операторы SQL без создания реальной таблицы отделов, используя такие выражения, как
WITH Department(DepartmentId, DepartmentName) AS (VALUES (1, 'HR'), (2, 'IT'))
SELECT DepartmentId AS Id, DepartmentName AS Name FROM Department d;
Ссылки
[ редактировать ]- ^ Стандартный SQL ANSI - Базовый документ - Дата: 14 октября 2010 г.
- ^ PostgreSQL: Документация: 13: 7.2. Табличные выражения
- ^ https://prestodb.io/docs/0.248/sql/select.html SELECT — Документация Presto 0.248
- ^ https://prestodb.io/docs/0.248/sql/values.html#examples ЗНАЧЕНИЯ — Документация Presto 0.248
- ^ https://prestodb.io/docs/0.248/sql/select.html#unnest SELECT — Документация Presto 0.248