Ця інструкція використовується для вставки нових рядків до існуючої таблиці. Таблиця з вказаним іменем повинна бути створена заздалегідь, або треба використовувати команду SELECT INTO.
Синтаксис команди:
INSERT INTO ім’я існуючої таблиці
SELECT тіло запиту
Вираз SELECT тіло запиту – це запит на вибірку з однієї або декількох таблиць, записаний за звичайними правилами.
Задача 5.12.Записати до архівної таблиці itogo, яка містить відомості про загальні заробітки всіх робітників (див. задачу 5.11) дані про заробітки робітників за період з 1.1.2006р. до 30.6.2006р.
INSERT INTO itogo
SELECT tvidom.tn AS [Табельний №], tvidom.fio AS Прізвище, (tzarobitok.zar) AS Сума,
(tzarobitok.zar) AS [Середнє за день]
FROM tvidom INNER JOIN tzarobitok ON tvidom.tn=tzarobitok.tn
WHERE tzarobitok.dat BETWEEN #1/1/2006# AND #6/30/2006#
ORDER BY tvidom.fio ;
Дату запишемо в американському форматі в символах # і використаємо функцію BETWEEN для завдання проміжку дат.
Інструкція INSERT може використовуватися й для вставки конкретних значень до одного рядка. Тоді вона має вигляд:
Синтаксис команди:
INSERT INTO ім’я існуючої таблиці (перелік стовпців)
VALUES ( перелік значень )
Можна не вказувати перелік стовпців, тоді значення будуть вставлені до всіх стовпців, починаючи з першого. Самі значення вказуються після ключового слова VALUES. Кількість стовпців в переліку та кількість значень повинні співпадати. Значення повинні мати той же тип, що й стовпці, до яких вони повинні бути вставлені. Не можна задавати значення стовпців–лічильників.
Задача 5.13.Вставити нові дані до таблиці tzarobitok.
INSERT INTO tzarobitok
Values (42 , #02/02/2006# , 100)
В таблиці tzarobitok записанітабельний номер, дата роботи та заробіток. В цьому випадку перелік полів можна не вказувати.
INSERT INTO tzarobitok (tn , zar)
VALUES (42 , 100)
Якщо за замовчанням в конструкторі таблиці встановлено, що дата роботи дорівнює поточній даті, то це поле буде заповнено. Якщо значення за замовчанням не визначено, це поле залишиться вільним.