В этом учебном пособии вы узнаете, как использовать SQLite оператор CREATE TABLE AS с синтаксисом и примерами.
Описание
SQLite оператор CREATE TABLE AS используется для создания таблицы из существующей таблицы путем копирования столбцов существующей таблицы.
Важно отметить, что при создании таблицы таким способом новая таблица будет заполняться записями из существующей таблицы (на основе оператора SELECT).
Синтаксис
Синтаксис оператора CREATE TABLE AS в SQLite:
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, который показывает, как создать таблицу путем копирования всех столбцов из другой таблицы.
1 2 3 4 |
CREATE TABLE active_employees AS SELECT * FROM employees WHERE hire_date IS NOT NULL; |
В этом примере будет создана новая таблица с именем active_employees, в которую будут включены все столбцы из таблицы employees.
Если бы в таблице employees были записи, то новая таблица active_employees была бы заполнена записями, возвращаемыми оператором SELECT.
Далее давайте рассмотрим пример CREATE TABLE AS, который показывает, как создать таблицу путем копирования выбранных столбцов из нескольких таблиц.
Например:
1 2 3 4 5 6 |
CREATE TABLE active_employees AS SELECT employees.employee_id AS "active_employee_id", employees.last_name, employees.first_name, departments.department_name FROM employees, departments WHERE employees.department_id = departments.department_id AND employees.hire_date IS NOT NULL; |
В этом примере будет создана новая таблица с именем active_employees на основе определений столбцов из таблиц employees и departments. Обратите внимание, что в этом примере мы назвали поле employee_id как active_employee_id, поскольку мы хотим, чтобы поле в новой таблице active_employees называлось active_employee_id, а не employee_id.