SELECT aircraft_code, fare_conditions, count( * ) FROM seats GROUP BY aircraft_code, fare_conditions ORDER BY aircraft_code, fare_conditions; На его основе создадим представление и дадим ему имя, отражающее суть этого
представления.
CREATE VIEW seats_by_fare_cond AS SELECT aircraft_code, fare_conditions, count( * ) FROM seats GROUP BY aircraft_code, fare_conditions ORDER BY aircraft_code, fare_conditions; Теперь мы можем вместо написания сложного первоначального запроса обращаться
непосредственно к представлению, как будто это обычная таблица.
SELECT * FROM seats_by_fare_cond; В отличие от таблиц, представления не содержат данных. Данные выбираются из таб-
лиц, на основе которых представление создано, при каждом обращении к нему в ко-
манде SELECT.
СУБД PostgreSQL предлагает свое расширение команды CREATE VIEW, а именно: фра-
зу OR REPLACE. Если представление уже существует, то можно его не удалять, а про-
сто заменить новой версией. Однако нужно помнить о том, что при создании новой
версии представления (без явного удаления старой с помощью команды DROP VIEW)
должны оставаться неизменными имена столбцов представления. Если же вы хотите
изменить имя хотя бы одного столбца, то сначала нужно удалить представление с по-
мощью команды DROP VIEW, а уже затем создать его заново. Имена столбцов можно
явно указать в команде, но если они не указаны, то СУБД сама «вычислит» эти име-
на. В только что созданном нами представлении третий столбец получит имя count.
Если мы захотим изменить это имя, то возможны два способа: первый заключается
в том, чтобы создать псевдоним для этого столбца с помощью ключевого слова AS, а
второй — в использовании списка имен столбцов в начале команды CREATE VIEW.
Попробуем воспользоваться первым способом (обратите внимание на добавление
фразы OR REPLACE и ключевого слова AS после вызова функции count):