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

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

Описание

SQLite оператор CREATE TABLE AS используется для создания таблицы из существующей таблицы путем копирования столбцов существующей таблицы.

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

Синтаксис

Синтаксис оператора CREATE TABLE AS в SQLite:

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

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

table_name
Имя таблицы, которую вы хотите создать.

expressions
Столбцы из existing_tables, которые вы хотели бы создать, в new_table. Определения столбцов из перечисленных столбцов будут перенесены в созданную вами new_table.

existing_tables
Существующие таблицы, из которых можно скопировать определения столбцов и соответствующие записи (согласно оператору WHERE).

WHERE conditions
Необязательный. Условия, которые должны быть выполнены для копирования записей в new_table.

Примечание

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

Пример

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

В этом примере будет создана новая таблица с именем active_employees, в которую будут включены все столбцы из таблицы employees.

Если бы в таблице employees были записи, то новая таблица active_employees была бы заполнена записями, возвращаемыми оператором SELECT.

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

Например:

В этом примере будет создана новая таблица с именем active_employees на основе определений столбцов из таблиц employees и departments. Обратите внимание, что в этом примере мы назвали поле employee_id как active_employee_id, поскольку мы хотим, чтобы поле в новой таблице active_employees называлось active_employee_id, а не employee_id.