Напишите команду, которая вводит в таблицу SUBJECT строку для нового предмета обучения со следующими значениями полей: SEMESTER = 4; SUBJ_NAME = ‘Алгебра’; HOUR = 72; SUBJ_ID = 201.
Введите запись для нового студента, которого зовут Орлов Николай, обучающегося на первом курсе ВГУ, живущего в Воронеже, сведения о дате рождения и размере стипендии неизвестны.
Напишите команду, удаляющую из таблицы EXAM_MARKS записи обо всех оценках студента, идентификатор которого равен 100.
Напишите команду, которая увеличивает на 5 значение рейтинга всех, имеющихся в базе данных университетов, расположенных в Санкт- Петербурге.
Измените в таблице значение города, в котором проживает студент Иванов, на “Воронеж”.
Использование подзапросов в INSERT
Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. В то время как оператор INSERT, использующий VALUES добавляет только одну строку, INSERT с подзапросом добавляет в таблицу столько строк, сколько подзапрос извлекает из другой таблицы. При этом количество и тип возвращаемых подзапросом столбцов должно соответствовать количеству и типу столбцов таблицы, в которую вставляются данные. Например, пусть таблица STUDENT1 имеет структуру, полностью совпадающую со структурой таблицы STUDENT. Запрос, позволяющий заполнить таблицу STUDENT1 записями из таблицы STUDENT обо всех студентах из Москвы, выглядит следующим образом.
INSERT INTO STUDENT1
SELECT *
FROM STUDENT
WHERE CITY = ‘Москва’;
Для того же, чтобы добавить в таблицу STUDENT1 сведения обо всех студентах, которые учатся в Москве, можно использовать в предложении WHERE соответствующий подзапрос. Например,
INSERT INTO STUDENT1
SELECT *
FROM STUDENT
WHERE UNIV_ID IN
(SELECT UNIV_ID
FROM UNIVERSITY
WHERE CITY = ‘Москва’);
Использование подзапросов, основанных на таблицах внешних запросов
Предположим, существует таблица SSTUD, в которой хранятся сведения о студентах, обучающихся в том же городе, в котором они живут. Можно заполнить эту таблицу данными из таблицы STUDENT, используя связанные подзапросы, следующим образом:
INSERT INTO SSTUD
SELECT *
FROM STUDENT A
WHERE CITY IN
(SELECT CITY
FROM UNIVERSITY B
WHERE A.UNIV_ID = B.UNIV_ID);
Предположим, что требуется выбрать список студентов, имеющих максимальный балл на каждый день сдачи экзаменов , и разместить его в другой таблице с именем EXAM. Это можно осуществить с помощью запроса INSERT INTO EXAM