Использовать или нет ключевое слово AS для создания алиасов (псевдонимов) в PostgreSQL

Пользуюсь СУБД PostgreSQL. Видел примеры создания алиасов (псевдонимов) для таблиц и отдельных столбцов. Иногда используют ключевое слово AS, а иногда обходятся без него. Например, есть такой запрос:

-- Пример 1
select name, salary
from worker;

Его результат:

введите сюда описание изображения

Далее использую псевдоним для имени таблицы:

-- Пример 2
-- Алиас для имени таблицы
select w.name, w.salary
from worker w;

-- Пример 3
-- Алиас для имени таблицы (использую AS)
select w.name, w.salary
from worker AS w;

Результат в обоих случаях такой же, как и в первом примере.


Также можно попробовать использовать псевдонимы для столбцов:

-- Пример 4
-- Алиас для столбцов
select name worker_name, salary worker_salary
from worker;

-- Пример 5
-- Алиас для столбцов (использую AS)
select name AS worker_name, salary AS worker_salary
from worker;

Результат в обоих примерах 4 и 5 такой:

введите сюда описание изображения


Есть ли разница при использовании ключевого слова AS, или без него?


Ответы (1 шт):

Автор решения: Vladimir Ignatenko

С точки зрения сервера базы данных разницы нет никакой. Но вы код пишете не для сервера, а для человека. Который потом будет это код читать или поддерживать. Да и даже если пишете "для себя", то потом вернетесь к этому кода и будете тратить время на его понимание.

FROM users u

В общем-то можно понять что для таблицы назначается алиас. Но вариант c ключевым словом AS - он более читаемый

FROM users AS u

Но это простой пример с одной таблицей. А если тут несколько таблиц и для каких-то из них используются алиасы, а для каких-то нет. Да еще и алиасы не из одной буквы, а из нескольких.

Сравним

FROM users, user_roles ur, user_roles_users urel, address

с

FROM users, user_roles AS ur, user_roles_users AS urel, address

Во втором варианте код более читаемый. И, например, не надо уже вглядываться в запятые, чтобы понять urel это алиас или же еще одна таблица.

На мой вгляд - ключевое слово AS нужно использовать для того чтобы ваш код был более читаемый. И чтобы меньше тратить время на его понимание.

→ Ссылка