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