PostgreSQL оператор CREATE TABLE AS

В этом учебном пособии вы узнаете, как использовать оператор PostgreSQL CREATE TABLE AS с синтаксисом и примерами.

Описание

PostgreSQL оператор CREATE TABLE AS используется для создания таблицы из существующей таблицы путем копирования столбцов существующей таблицы.
Важно отметить, что при создании таблицы таким способом новая таблица будет заполняться записями из существующей таблицы (на основе оператора SELECT ).

Синтаксис

Синтаксис для оператора CREATE TABLE AS в PostgreSQL:

CREATE TABLE new_table AS
SELECT expressions
FROM existing_tables
[WHERE conditions];

Параметры или аргументы

table_name
Имя таблицы, которую вы хотите создать.
expressions
Столбцы из existing_tables, которые вы хотели бы создать в new_table. Определения столбцов из перечисленных столбцов будут перенесены в созданную вами новую_таблицу.
existing_tables
Существующие таблицы, из которых можно скопировать определения столбцов и связанные с ними записи (согласно предложению WHERE).
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для копирования записей в new_table.

Примечание

  • Определения столбцов из existing_tables будут скопированы в new_table.
  • new_table будет заполнен записями на основе условий в предложении WHERE.

Пример

Рассмотрим пример PostgreSQL CREATE TABLE AS, который показывает, как создать таблицу путем копирования всех столбцов из другой таблицы.

В этом примере будет создана новая таблица с именем current_inventory, включающая все столбцы из таблицы products.
Если в таблице products есть записи, то новая таблица current_inventory будет заполнена записями, возвращаемыми оператором SELECT. Другими словами, все записи из таблицы товаров с количеством больше 0 будут вставлены в таблицу current_inventory при ее создании.
Далее Рассмотрим пример CREATE TABLE AS, который показывает, как создать таблицу путем копирования выбранных столбцов из нескольких таблиц.
Например:

В этом примере будет создана новая таблица с именем current_inventory на основе определений столбцов из таблиц products и categories.
Опять же, в новую таблицу current_inventory будут добавлены только записи, удовлетворяющие условиям оператора SELECT.