Добавление данных
- Добавление полных строк
- Добавление части строки
- Добавление выбранных данных
- Копирование данных из одной таблицы в другую
Добавление выбранных данных
Обычно оператор INSERT служит для добавления строки в таблицу с использованием указанных значений. Существует и другая форма оператора INSERT, она может быть использована для добавления в таблицу результата применения оператора SELECT. Известна эта форма как оператор INSERT SELECT и, как подсказывает название последнего, данный оператор выполняет то же самое, что делают операторы INSERT и SELECT.
Предположим, вы хотите ввести в таблицу Customers список клиентов из другой таблицы. Вместо того чтобы считывать по одной строке и затем добавлять ее посредством оператора INSERT, вы можете сделать следующее.
Инструкции для следующего примера
cust_email,
cust_name,
cust_address,
cust_city,
cust_state,
cust_ZIP,
cust_country) SELECT cust_id,
cust_contact,
cust_email,
cust_name,
cust_address,
cust_city,
cust_state,
cust_ZIP,
cust_country FROM CustNew;
В этом примере для импорта всех данных из таблицы CustNew в таблицу Customers используется оператор INSERT SELECT. Вместо того чтобы перечислять значения, которые должны быть добавлены, оператор SELECT выбирает их из таблицы CustNew. Каждый столбец в операторе SELECT соответствует столбцу в списке указанных столбцов. Сколько же строк добавит этот оператор? Это зависит от того, сколько строк содержится в таблице CustNew. Если таблица пуста, никакие строки добавлены не будут (и никакое сообщение об ошибке не будет выдано, поскольку эта операция остается правомерной). Если таблица содержит данные, все они будут добавлены в таблицу Customers.
Имена столбцов в операторе INSERT SELECT
Оператор SELECT, используемый в INSERT SELECT, может включать предложение WHERE для фильтрации данных, которые должны быть добавлены.



