В этом учебном пособии вы узнаете, как использовать оператор SELECT INTO в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Оператор SELECT INTO SQL Server (Transact-SQL) используется для создания таблицы из существующей таблицы путем копирования столбцов существующей таблицы.
Важно отметить, что при создании таблицы таким образом новая таблица будет заполнена записями из существующей таблицы (на основании результирующего набора оператора SELECT).
Синтаксис
Синтаксис оператора SELECT INTO в SQL Server (Transact-SQL):
INTO new_table
FROM tables
[WHERE conditions];
Параметры или аргументы
expressions - столбцы или вычисления, которые вы хотите получить.
new_table - создаваемая новая таблица с выбранными выражениями и связанными с ними определениями (new_table не должна существовать на момент выполнения).
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в предложении FROM.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для выбранных записей.
Примечание
- При использовании оператора SELECT INTO в SQL Server, new_table еще не существует. Если new_table уже существует, то оператор SELECT INTO вызовет ошибку.
Пример
Рассмотрим пример использования оператора SELECT INTO в SQL Server (Transact-SQL).
Например:
1 2 3 4 |
SELECT employee_id, last_name, first_name INTO contacts FROM employees WHERE employee_id < 200; |
Этот пример SQL Server SELECT INTO будет выбирать поля employee_id, last_name и first_name из таблицы employees и копировать эти поля вместе с их определениями в новую таблицу contacts, которая еще не существует.
Опять же, если в таблице employee были записи, то новая таблица contacts будет заполнена записями, возвращаемыми оператором SELECT.
Если вы обнаружите, что хотите переименовать некоторые столбцы в новой таблице, а не использовать исходные имена, вы можете именам столбцов прописать псевдонимы в операторе SELECT INTO.
Например:
1 2 3 4 |
SELECT employee_id AS contact_id, last_name, first_name INTO contacts FROM employees WHERE employee_id < 1000; |
В этом примере SELECT INTO мы не хотим, чтобы первый столбец в новой таблице contacts назывался employee_id. Было бы более целесообразным переименовать первый столбец в таблице contacts в contact_id. Это делается путем переименования столбца employee_id следующим образом: