Логотип schoolsw3.com
Учебники Справочники Упражнения КАК? Меню
Создать
Редактор Поддержка Форум

×
Учебники
Справочники
Упражнения
Пожертвовать Обновление Реклама Видео Магазин

SQL Учебник

SQL Главная SQL Введение SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL Значения SQL UPDATE SQL DELETE SQL SELECT TOP SQL Агрегатные функции SQL MIN() и MAX() SQL COUNT SQL SUM SQL AVG SQL LIKE SQL Подстановочные знаки SQL IN SQL BETWEEN SQL ПСЕВДОНИМЫ SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL SELF JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY и ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL ФУНКЦИИ NULL SQL ХРАНИМАЯ SQL КОММЕНТАРИИ SQL ОПЕРАТОРЫ

SQL БАЗА ДАННЫХ

SQL СОЗДАТЬ БД SQL ОТКИНУТЬ БД SQL РЕЗЕРВНАЯ БД SQL СОЗДАТЬ ТАБЛИЦУ SQL ОТКИНУТЬ ТАБЛИЦУ SQL ИЗМЕНИТЬ ТАБЛИЦУ SQL ОГРАНИЧЕНИЯ SQL NOT NULL SQL UNIQU SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK SQL DEFAULT SQL CREATE INDEX SQL AUTO INCREMENT SQL ДАТЫ SQL CREATE VIEW SQL ИНЪЕКЦИЯ SQL ХОСТИНГ SQL ТИПЫ ДАННЫХ

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Редактор SQL Викторина SQL Упражнения

SQL INSERT INTO SELECT



Инструкция INSERT INTO SELECT

Инструкция INSERT INTO SELECT копирует данные из одной таблицы и вставляет их в другую таблицу.

  • INSERT INTO SELECT требует, чтобы типы данных в исходной и целевой таблицах совпадали
  • Существующие записи в целевой таблице остаются неизменными

Синтаксис INSERT INTO SELECT

Копирование всех столбцов из одной таблицы в другую таблицу:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

Скопируйте только некоторые столбцы из одной таблицы в другую таблицу:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Демо база данных

В этом уроке мы будем использовать хорошо известный пример базы данных Northwind.

Ниже приведен выбор из таблицы "Customers":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

И выбор из таблицы "Suppliers":

SupplierID SupplierName ContactName Address City Postal Code Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


Примеры SQL INSERT INTO SELECT

Следующая инструкция SQL копирует "Suppliers" в "Customers" (столбцы, которые не заполнены данными, будут содержать NULL):

Пример

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Попробуйте сами »

Следующая инструкция SQL копирует "Suppliers" в "Customers" (заполните все столбцы):

Пример

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
Попробуйте сами »

Следующая инструкция SQL копирует только немецких поставщиков в раздел "Customers":

Пример

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
Попробуйте сами »