Манипулирование данными
Использование подзапросов в INSERT
Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. В то время как оператор INSERT, использующий VALUES, добавляет только одну строку, INSERT с подзапросом добавляет в таблицу столько строк, сколько подзапрос извлекает из другой таблицы. При этом количество и тип возвращаемых подзапросом столбцов должно соответствовать количеству и типу столбцов таблицы, в которую вставляются данные.
Например, пусть таблица STUDENTI имеет структуру, полностью совпадающую со структурой таблицы STUDENT. Запрос, позволяющий заполнить таблицу STUDENTI записями обо всех студентах из Москвы из таблицы STUDENT, выглядит следующим образом:
INSERT INTO STUDENTI •SELECT *
FROM STUDENT
WHERE CITY = 'Москва';
Для того же, чтобы добавить в таблицу STUDENTI сведения обо всех студентах, которые учатся в Москве, можно использовать в предложении WHERE соответствующий подзапрос. Например,
INSERT INTO STUDENTI SELECT *
FROM STUDENT WHERE UNIV_ID IN
(SELECT UNIV_ID FROM UNIVERSITY WHERE CITY = 'Москва');
| Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ; |