Псевдонимы в PostgreSQL

Читать первым в Telegram

Данная статья относится к циклу статей, посвященных PostgreSQL. В предыдущей статье мы говорили об операторе PostgreSQL IS NULL. Теперь же мы углубимся в изучение псевдонимов столбцов и таблиц в PostgreSQL.

Псевдоним в PostgreSQL назначает таблице или столбцу в запросе временное имя и существует только во время выполнения запроса.

Псевдоним столбца

Ниже показан синтаксис псевдонима столбца:

SELECT column_name AS alias_name
FROM table;

В этом синтаксисе column_name назначается псевдоним alias_name. Ключевое слово AS является необязательным, поэтому вы можете пропустить его, как показано ниже:

SELECT column_name alias_name
FROM table;

Помимо имени столбца, вы можете назначить псевдоним выражению в операторе SELECT следующим образом:

SELECT expression alias_name
FROM table;

Основное назначение псевдонима столбца — сделать вывод запроса более осмысленным.

Примеры псевдонимов столбцов

Следующий запрос находит полные имена всех клиентов:

SELECT
    first_name || ' ' || last_name
FROM
    customer
ORDER BY
    first_name || ' ' || last_name;=

Чтобы сделать запрос коротким и его вывод более осмысленным, вы можете использовать псевдонимы столбцов следующим образом.

SELECT
    first_name || ' ' || last_name AS full_name
FROM
    customer
ORDER BY
    full_name;

Поскольку PostgreSQL учитывает условие ORDER BY после оператора SELECT, вы можете использовать псевдоним столбца в условии ORDER BY.

Для других условий, учитываемых до оператора SELECT, таких, как WHERE, GROUP BY и HAVING, вы не можете ссылаться на псевдоним столбца внутри условия.

Псевдоним таблицы

Ниже показан синтаксис псевдонима таблицы:

SELECT
    column_list
FROM
    table_name AS alias_name;

Подобно псевдониму столбца, ключевое слово AS в синтаксисе псевдонима таблицы также может быть опущено. Обратите внимание, что вы также можете использовать псевдоним таблицы для представления.

Псевдоним таблицы имеет несколько применений.

Во-первых, если вам нужно указать имя столбца с длинным именем таблицы, вы можете использовать псевдоним таблицы, чтобы сократить количество нажатий и сделать ваш запрос более читабельным.

Например, вместо использования следующего запроса:

SELECT a_very_long_table_name.column_name
FROM a_very_long_table_name;

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

SELECT t.column_name
FROM a_very_long_table_name t;

В этом примере t является псевдонимом таблицы a_very_long_table_name.

Практическое использование псевдонима таблицы — это когда вы запрашиваете данные из нескольких таблиц с одинаковыми именами столбцов. В этом случае вы должны сопоставить столбцы, используя имена таблиц следующим образом:

SELECT table_name1.column_name,
    table_name2.column_name
FROM table_name1
INNER JOIN table_name2 ON join_predicate;

Чтобы сделать запрос короче, вы можете использовать псевдонимы таблиц для их имен, перечисленных в условиях FROM и INNER JOIN:

SELECT t1.column_name,
    t2.column_name
FROM table_name1 t1
INNER JOIN table_name2 t2 ON join_predicate;

Об условии INNER JOIN вы узнаете в следующем уроке.

Во-вторых, когда вы объединяете таблицу с ней же самой, то есть делаете самообъединение, вы должны использовать псевдонимы таблиц, потому что PostgreSQL не позволяет вам ссылаться на одну и ту же таблицу несколько раз в запросе.

SELECT
    colum_list
FROM
    table_name table_alias
INNER JOIN table_name ON join_predicate;

В данной статье вы узнали, как использовать псевдонимы в PostgreSQL для временного назначения нового имени столбцу или таблице во время выполнения запроса. В следующей статье мы поговорим об объединениях в PostgreSQL.

Источник: PostgreSQL Tutorial from Scratch

Поддержать проект

Социальные сети проекта:

Подпишись, чтобы ничего не пропустить!