Лабораторная работа № 9.
Использование операторов обработки данных СУБД MySQL
Цель работы
Закрепления навыков построения команд в стандарте SQL для различных предметных областей.
Порядок выполнения работы
- Используя схему и структуру данных, соответствующих Вашему варианту, создайте в СУБД MySQL новый проект и реализуйте базу данных.
Для проверки правильности работы команд SQL наберите в таблицах по несколько (5 – 10) записей, соответствующих предметной области и с соблюдением правил целостности базы данных.
Далее по Вашему варианту выполните упражнения по составлению команд для обработки данных в созданном проекте с использованием SQL стандарта.
1.1. База данных «Книжное дело»

Связь между таблицами осуществляется с помощью следующих пар полей с типом связи «один-ко-многим» соответственно:
1. Books.Code_book - Purchases.Code_book;
2. Deliveries.Code_delivery - Purchases.Code_delivery;
3. Authors.Code_author - Books.Code_author;
4. Publising_house.Code_publish - Books.Code_publish.






1.2. Упражнения с использованием операторов обработки данных для БД «Книжное дело»
Сортировка
- Выбрать все сведения о книгах из таблицы Books и отсортировать результат по коду книги (поле Code_book).
- Выбрать из таблицы Books коды книг, названия и количество страниц (поля Code_book, Title_book и Pages), отсортировать результат по названиям книг (поле Title_book по возрастанию) и по полю Pages (по убыванию).
- Выбрать из таблицы Deliveries список поставщиков (поля Name_delivery, Phone и INN), отсортировать результат по полю INN (по убыванию).
Изменение порядка следования полей
- Выбрать все поля из таблицы Deliveries таким образом, чтобы в результате порядок столбцов был следующим: Name_delivery, INN, Phone, Address, Code_delivery.
- Выбрать все поля из таблицы Publishing_house таким образом, чтобы в результате порядок столбцов был следующим: Publish, City, Code_publish.
Выбор некоторых полей из двух таблиц
- Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Authors выбрать имя соответствующего автора книги (поле Name_ author).
- Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Deliveries выбрать имя соответствующего поставщика книги (поле Name_delivery).
- Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Publishing_house выбрать название соответствующего издательства и места издания (поля Publish и City).
Условие неточного совпадения
- Выбрать из справочника поставщиков (таблица Deliveries) названия компаний, телефоны и ИНН (поля Name_company, Phone и INN), у которых название компании (поле Name_company) начинается с ‘ОАО’.
- Выбрать из таблицы Books названия книг и количество страниц (поля Title_book и Pages), а из таблицы Authors выбрать имя соответствующего автора книг (поле Name_ author), у которых название книги начинается со слова ‘Мемуары’.
- Выбрать из таблицы Authors фамилии, имена, отчества авторов (поле Name_ author), значения которых начинаются с ‘Иванов’. Точное несовпадение значений одного из полей
- Вывести список названий издательств (поле Publish) из таблицы Publishing_house, которые не находятся в городе ‘Москва’ (условие по полю City).
- Вывести список названий книг (поле Title_book) из таблицы Books, которые выпущены любыми издательствами, кроме издательства ‘Питер-Софт’ (поле Publish из таблицы Publishing_house).
Выбор записей по диапазону значений (Between)
- Вывести фамилии, имена, отчества авторов (поле Name_author) из таблицы Authors, у которых дата рождения (поле Birthday) находится в диапазоне 01.01.1840 – 01.06.1860.
- Вывести список названий книг (поле Title_book из таблицы Books) и количество экземпляров (поле Amount из таблицы Purchases), которые были закуплены в период с 12.03.2003 по 15.06.2003 (условие по полю Date_order из таблицы Purchases).
- Вывести список названий книг (поле Title_book) и количество страниц (поле Pages) из таблицы Books, у которых объем в страницах укладывается в диапазон 200 – 300 (условие по полю Pages).
- Вывести список фамилий, имен, отчеств авторов (поле Name_author) из таблицы Authors, у которых фамилия начинается на одну из букв диапазона ‘В’ – ‘Г’ (условие по полю Name_author).
Выбор записей по диапазону значений (In)
- Вывести список названий книг (поле Title_book из таблицы Books) и количество (поле Amount из таблицы Purchases), которые были поставлены поставщиками с кодами 3, 7, 9, 11 (условие по полю Code_delivery из таблицы Purchases).
- 19. Вывести список названий книг (поле Title_book) из таблицы Books, которые выпущены следующими издательствами: ‘Питер-Софт’, ‘Альфа’, ‘Наука’ (условие по полю Publish из таблицы Publishing_house).
- Вывести список названий книг (поле Title_book) из таблицы Books, которые написаны следующими авторами: ‘Толстой Л.Н.’, ‘Достоевский Ф.М.’, ‘Пушкин А.С.’ (условие по полю Name_author из таблицы Authors).
Выбор записей с использованием Like
- Вывести список авторов (поле Name_author) из таблицы Authors, которые начинаются на букву ‘К’.
- Вывести названия издательств (поле Publish) из таблицы Publishing_house, которые содержат в названии сочетание ‘софт’.
- Выбрать названия компаний (поле Name_company) из таблицы Deliveries, у которых значение оканчивается на ‘ский’.
Выбор записей по нескольким условиям
- 24. Выбрать коды поставщиков (поле Code_delivery), даты заказов (поле Date_order) и названия книг (поле Title_book), если количество книг (поле Amount) в заказе больше 100 или цена (поле Cost) за книгу находится в диапазоне от 200 до 500.
- Выбрать коды авторов (поле Code_author), имена авторов (поле Name_author), названия соответствующих книг (поле Title_book), если код издательства (поле Code_Publish) находится в диапазоне от 10 до 25 и количество страниц (поле Pages) в книге больше 120.
- Вывести список издательств (поле Publish) из таблицы Publishing_house, в которых выпущены книги, названия которых (поле Title_book) начинаются со слова ‘Труды’ и город издания (поле City) – ‘Новосибирск’.
Многотабличные запросы (выборка из двух таблиц, выборка из трех таблиц с использованием JOIN)
- Вывести список названий компаний-поставщиков (поле Name_company) и названия книг (поле Title_book), которые они поставили в период с 01.01.2002 по 31.12.2003 (условие по полю Date_order).
- Вывести список авторов (поле Name_author), книги которых были выпущены в издательстве ‘Мир’ (условие по полю Publish).
- Вывести список поставщиков (поле Name_company), которые поставляют книги издательства ‘Питер’ (условие по полю Publish).
- Вывести список авторов (поле Name_author) и названия книг (поле Title_book), которые были поставлены поставщиком ‘ОАО Книготорг’ (условие по полю Name_company).
Вычисления
- Вывести суммарную стоимость партии одноименных книг (использовать поля Amount и Cost) и название книги (поле Title_book) в каждой поставке.
- Вывести стоимость одной печатной страницы каждой книги (использовать поля Cost и Pages) и названия соответствующих книг (поле Title_book).
- Вывести количество лет с момента рождения авторов (использовать поле Birthday) и имена соответствующих авторов (поле Name_author).
Вычисление итоговых значений с использованием агрегатных функций
- Вывести общую сумму поставок книг (использовать поле Cost), выполненных ‘ЗАО Оптторг’ (условие по полю Name_company).
- Вывести общее количество всех поставок (использовать любое поле из таблицы Purchases), выполненных в период с 01.01.2003 по 01.02.2003 (условие по полю Date_order).
- Вывести среднюю стоимость (использовать поле Cost) и среднее количество экземпляров книг (использовать поле Amount) в одной поставке, где автором книги является ‘Акунин’ (условие по полю Name_author).
- Вывести все сведения о поставке (все поля таблицы Purchases), а также название книги (поле Title_book) с минимальной общей стоимостью (использовать поля Cost и Amount).
- Вывести все сведения о поставке (все поля таблицы Purchases), а также название книги (поле Title_book) с максимальной общей стоимостью (использовать поля Cost и Amount).
Изменение наименований полей
- Вывести название книги (поле Title_book), суммарную стоимость партии одноименных книг (использовать поля Amount и Cost), поместив в результат в поле с названием Itogo, в поставках за период с 01.01.2002 по 01.06.2002 (условие по полю Date_order).
- Вывести стоимость одной печатной страницы каждой книги (использовать поля Cost и Pages), поместив результат в поле с названием One_page, и названия соответствующих книг (поле Title_book).
- Вывести общую сумму поставок книг (использовать поле Cost) и поместить результат в поле с названием Sum_cost, выполненных ‘ОАО Луч’ (условие по полю Name_company).
Использование переменных в условии
- Вывести список сделок (все поля из таблицы Purchases) за последний месяц (условие с использованием поля Date_order).
- Вывести список авторов (поле Name_author), возраст которых меньше заданного пользователем (условие с использованием поля Birthday).
- Вывести список книг (поле Title_book), которых закуплено меньше, чем указано в запросе пользователя (условие с использованием поля Amount).
Использование переменных вместо названий таблиц
- Вывести список названий компаний-поставщиков (поле Name_company) и названия книг (поле Title_book), которые они поставили.
- Вывести список авторов (поле Name_author), книги которых были выпущены в издательствах ‘Мир’, ‘Питер Софт’, ‘Наука’ (условие по полю Publish).
- Вывести список издательств (поле Name_company), книги которых были поставлены по цене 150 руб. (поле Cost).
Выбор результата в представление
- Вывести список названий книг (поле Title_book) и количества страниц (поле Pages) в каждой книге и поместить результат в представление с названием Temp1.
- Вывести список названий компаний-поставщиков (поле Name_company) и поместить результат в представление с названием Temp2.
- Вывести список авторов (поле Name_author) и поместить результат в представление с названием Temp3.
Использование функций совместно с подзапросом
- Вывести список книг (поле Title_book), у которых количество страниц (поле Pages) больше среднего количества страниц всех книг в таблице.
- Вывести список авторов (поле Name_author), возраст которых меньше среднего возраста всех авторов в таблице (условие по полю Birthday).
- Вывести список книг (поле Title_book), у которых количество страниц (поле Pages) равно минимальному количеству страниц книг, представленных в таблице.
Использование квантора существования в запросах
- Вывести список издательств (поле Publish), книги которых были приобретены оптом (‘опт’ из поля Type_Purchase).
- Вывести список авторов (поле Name_author), книг которых нет в таблице Books.
- Вывести список книг (поле Title_book), которые были поставлены поставщиком ‘ЗАО Квантор’ (условие по полю Name_company).
Оператор обработки данных Update
- Изменить в таблице Books содержимое поля Pages на 300, если код автора (поле Code_author) =56 и название книги (поле Title_book) =’Мемуары’.
- Изменить в таблице Deliveries содержимое поля Address на ‘нет сведений’, если значение поля является пустым.
- Увеличить в таблице Purchases цену (поле Cost) на 20 процентов, если заказы были оформлены в течение последнего месяца (условие по полю Date_order).
Оператор обработки данных Insert
- Добавить в таблицу Purchases новую запись, причем так, чтобы код покупки (поле Code_purchase) был автоматически увеличен на единицу, а в тип закупки (поле Type_purchase) внести значение ‘опт’.
- Добавить в таблицу Books новую запись, причем вместо ключевого поля поставить код (поле Code_book), автоматически увеличенный на единицу от максимального кода в таблице, вместо названия книги (поле Title_book) написать ‘Наука. Техника. Инновации’.
- Добавить в таблицу Publish_house новую запись, причем вместо ключевого поля поставить код (поле Code_publish), автоматически увеличенный на единицу от максимального кода в таблице, вместо названия города – ‘Москва’ (поле City), вместо издательства – ‘Наука’ (поле Publish).
Оператор обработки данных Delete
- Удалить из таблицы Purchases все записи, у которых количество книг в заказе (поле Amount) = 0.
- Удалить из таблицы Authors все записи, у которых нет имени автора в поле Name_Author.
- Удалить из таблицы Deliveries все записи, у которых не указан ИНН (поле INN пустое).
1.3. База данных «Успеваемость студентов»

Связь между таблицами осуществляется с помощью следующих пар полей с типом связи «один-ко-многим» соответственно:
1. Groups.Code_group - Students.Code_group;
2. Students.Code_stud - Progress.Code_stud;
3. Subjects.Code_subject - Progress.Code_subject;
4. Lectors.Code_lector - Progress.Code_lector.





1.4. Упражнения с использованием операторов обработки данных для БД «Успеваемость студентов»
Сортировка
- Вывести все сведения о студентах из таблицы Students и отсортировать результат по коду студента (поле Code_stud).
- Вывести список фамилий, имен, отчеств преподавателей (поле Name_lector), их должности (поле Post) и ученые степени (поле Science) из таблицы Lectors, отсортировать результат по названиям должностей по возрастанию (использовать поле Post) и по ученым степеням по убыванию (использовать поле Science).
- Выбрать из таблицы Groups названия групп и номера курсов (поля Name_group, Name_course) и отсортировать результат по полю Name_course по убыванию.
Изменение порядка следования полей
- Вывести все сведения о студентах из таблицы Students таким образом, чтобы в результате порядок столбцов был следующим: Code_group, Name, Surname, Lastname, Phone, Birthday.
- Выбрать все поля из таблицы Subjects таким образом, чтобы в результате порядок столбцов был следующим: Name_subject, Code_subject.
Выбор некоторых полей из двух таблиц
- Вывести список фамилий (поле Surname), имен (поле Name), отчеств (поле Lastname) студентов из таблицы Students и названий групп (поле Name_group) из таблицы Groups, в которых они обучаются.
- Вывести даты экзаменов (поле Date_exam) из таблицы Progress и фамилии, имена, отчества преподавателей (поле Name_lector) из таблицы Lectors, принимавших в эти даты экзамены.
- Вывести даты экзаменов (поле Date_exam) из таблицы Progress и названия дисциплин (поле Name_subject) из таблицы Subjects, по которым сдавали экзамены в указанные даты.
Условие неточного совпадения
- Вывести список преподавателей (поле Name_lector) из таблицы Lectors с ученой степенью кандидат каких-либо наук, т.е. у которых значение поля Science начинается с ‘к’.
- Вывести список студентов (поля Surname, Name, Lastname) из таблицы Students и названия групп (поле Name_group) из таблицы Groups, значения которых начинаются с сочетания ‘АС’.
- Вывести список дисциплин (поле Name_subject) из таблицы Subjects, значение которых начинается с ‘математ’.
Точное несовпадение значений одного из полей
- Вывести список преподавателей (поле Name_lector) из таблицы Lectors и их должности (поле Post), которые не являются докторами технических наук, т.е. значение поля Science не равно ‘д.т.н.’.
- Вывести список групп (поле Name_group) из таблицы Groups, которые не относятся к специальности ‘электротехника’ (условие по полю Name_speciality).
- Вывести все сведения о всех предметах из таблицы Subjects, кроме предмета ‘высшая математика’ (условие по полю Name_subject).
Выбор записей по диапазону значений (Between)
- Вывести даты экзаменов (поле Date_exam) из таблицы Progress и список дисциплин (поле Name_subject) из таблицы Subjects, по которым сдавали экзамены в период с 01.01.2003 по 01.02.2003 (условие по полю Date_exam).
- Вывести список преподавателей (поле Name_lector) из таблицы Lectors и их должности (поле Post), которые были устроены на работу в период с 12.03.2000 по 15.06.2000 (условие по полю Date_).
- Вывести список студентов (поля Surname, Name, Lastname) и их телефоны (поле Phone) из таблицы Students, если значения телефонов находятся в диапазоне от 220000 до 226666 (условие по полю Phone).
- Вывести список дисциплин (поле Name_subject) из таблицы Subjects, у которых название начинается на одну из букв диапазона ‘В’–‘Г’ (условие по полю Name_subject).
Выбор записей по диапазону значений (In)
- Вывести список групп и названия специальностей (поля Name_group и Name_speciality из таблицы Groups), в которых учатся студенты со следующими номерами зачетной книжки ‘АС-12-02’, ‘ПИ-14-03’, ‘АС-21-03’, ‘БИ-12-02’ (условие по полю Code_stud из таблицы Students).
- Вывести список преподавателей (поле Name_lector) из таблицы Lectors и их должности (поле Post), у которых есть одна из следующих ученых степеней: ‘к.т.н.’, ‘к.э.н.’, ‘д.т.н.’ (условие по полю Science).
- Вывести список студентов (поля Surname, Name, Lastname) из таблицы Students, которые сдавали экзамены по дисциплинам со следующими кодами 5, 8, 12, 25 (условие по полю Code_subject).
Выбор записей с использованием Like
- Вывести список дисциплин (поле Name_subject) из таблицы Subjects, которые начинаются на букву ‘М’.
- Вывести список студентов (поля Surname, Name, Lastname) и даты рождения (поле Birthday) из таблицы Students, которые содержат в фамилии сочетание букв ‘нова’ (условие по полю Surname).
- Выбрать список групп (поле Name_group) из таблицы Groups, у которых значение оканчивается на ‘0’ (ноль).
Выбор записей по нескольким условиям
- Вывести всех студентов (поля Surname, Name, Code_group) из таблицы Students, которые сдавали экзамен по дисциплине (поле Name_subject из таблицы Subjects) ‘математический анализ’.
- Вывести список преподавателей (поле Name_lector) из таблицы Lectors, которые принимали экзамены по дисциплинам с кодами (условие по полю Code_subject из таблицы Progress) 5 – 12 и в период с 01.01.2003 по 01.02.2003 (условие по полю Date_exam из таблицы Progress).
- Вывести список групп (поле Name_group) и номера курсов (поле Num_course) из таблицы Groups, в которых учатся студенты с датами рождения с 01.01.1976 по 01.01.1978 (условие по полю Birthday из таблицы Students) и кодами из диапазона 10 – 150 (условие по полю Code_stud из таблицы Students).
Многотабличные запросы (выборка из двух таблиц, выборка из трех таблиц с использованием JOIN)
- Вывести список названий дисциплин (поле Name_subject из таблицы Subjects) и имен преподавателей (поле Name_lector из таблицы Lectors), которые принимали по этим дисциплинам экзамены.
- Вывести список студентов (поля Surname, Name из таблицы Students) и номер курса (поле Num_course из таблицы Groups), учащихся в группе ‘Ас-31’ (условие по полю Name_group).
- Вывести список имен преподавателей (поле Name_lector из таблицы Lectors), которые принимали экзамены у студентов с кодами групп 10, 12, 15 (условие по полю Code_group из таблицы Students).
- Вывести список названий дисциплин (поле Name_subject из таблицы Subjects) и имен преподавателей (поле Name_lector из таблицы Lectors), которые принимали по этим дисциплинам экзамены в период с 15.01.2003 по 16.02.2003 (условие по полю Date_exam из таблицы Progress).
Вычисления
- Вывести список всех преподавателей (Name_lector), их ученые степени (поле Science) и срок их работы в годах (использовать поле Date_ из таблицы Lectors).
- Вывести список всех студентов (поля Surname, Name, Lastname) и их возраст в годах (использовать поле Birthday из таблицы Students).
- Вывести список всех студентов (поля Surname, Name, Lastname из таблицы Students) и номер курса, на котором они занимаются, а также количество лет оставшейся учебы (использовать поле Num_course из таблицы Groups).
Вычисление итоговых значений с использованием агрегатных функций
- Вывести список всех групп (поле Name_group из таблицы Groups) и количество студентов в каждой группе (по любому полю из таблицы
Students).
- Вывести средний балл (использовать поле Estimate из таблицы Progress) по результатам экзаменов каждого студента и имена студентов (поля Surname, Name из таблицы Students) за период сдачи экзаменов с 05.01.2003 по 25.01.2003 (условие по полю Date_exam из таблицы Progress).
- ывести фамилии и имена студентов (поля Surname, Name из таблицы Students) с максимальным средним баллом за весь период обучения (условие по полю Estimate из таблицы Progress).
- Вывести все сведения о преподавателях (все поля таблицы Lectors) с максимальным общим стажем работы (использовать поле Date_).
Изменение наименований полей
- Вывести список групп (поле Name_group из таблицы Groups) и количество студентов в каждой группе (по любому полю из таблицы Students), поместив результат в новое поле Count_Students.
- Вывести средний балл (использовать поле Estimate из таблицы Progress) по результатам экзаменов каждого студента, поместив результат в поле Avg_estimate, и имена студентов (поля Surname, Name из таблицы Students) за период сдачи экзаменов 05.01.2003 по 25.01.2003 (условие по полю Date_exam из таблицы Progress).
- Вывести список преподавателей (Name_lector), их ученые степени (поле Science) и срок их работы в годах (использовать поле Date_ из таблицы Lectors), поместив резльтат в поле Old_years.
Использование переменных в условии
- Вывести список студентов (поля Surname, Name, Lastname) и их телефоны (поле Phone) из таблицы Students, если значения телефонов находятся в диапазоне, хранящемся в переменных Phone_begin и Phone_end. Например, пусть Phone_begin = 125478, а Phone_end = 352456.
- Вывести все сведения о студентах и их даты рождения (поле Birthday) из таблицы Students, значения которых находятся в диапазоне, хранящемся в переменных Birthday_begin и Birthday_end. Например, пусть Birthday_begin = 12.03.1978, а Birthday_end = 12.03.1980.
- Вывести список студентов (поля Surname, Name, Lastname) и названия их групп (поле Name_group) для значений кодов групп (поле Code_group), находящихся в диапазоне, хранящемся в переменных Group_begin и Group_end. Например, пусть Group_begin = 12, а Group_end = 35.
Использование переменных вместо названий таблиц
- Вывести коды студентов (поле Code_stud) и имена (поля Surname, Name), названия и коды групп (поля Name_group, Code_group из таблицы Groups), причем таблица Students будет использоваться с именем ‘A’, а таблица Groups будет использоваться с именем ‘B’.
- Вывести имена студентов (поля Surname, Name), названия и коды предметов (поля Name_subject, Code_subject из таблицы Subjects), которые сдавали студенты, а также оценки за предметы (поле Estimate), причем таблица Students будет использоваться с именем ‘A’, таблица Progress будет использоваться с именем ‘B’, а таблица Subjects будет использоваться с именем ‘C’.
- Вывести имена студентов (поля Surname, Name), названия и коды преподавателей (поля Name_lector, Code_lector из таблицы Lectors), которым сдавали студенты экзамены, а также оценки за предметы (поле Estimate), причем таблица Students будет использоваться с именем ‘A’, таблица Progress будет использоваться с именем ‘B’, а таблица Lectors будет использоваться с именем ‘C’.
Создание представлений
- Вывести все сведения о сданных экзаменах (все поля из таблицы Progress) для студента с фамилией ‘Васьков’ и именем ‘Павел’ (условия по полям Surname, Name из таблицы Students) с помощью представления Temp1.
- Создать представление с названием Temp2, выводящее список групп и специальности (поля Name_group, Name_speciality из таблицы Groups), у которых номер курса = 2 (условие по полю Num_course).
- Создать представление с названием Temp3 выводящее список всех изучаемых дисциплин (поле Name_subject из таблицы Subjects).
Использование функций совместно с подзапросом
- Вывести список преподавателей (все поля из таблицы Lectors), дата устройства которых меньше средней даты устройства всех преподавателей в таблице (условие по полю Date_).
- Вывести все сведения о сдачах экзаменов (все поля из таблицы Progress) и список студентов (поля Surname, Name из таблицы Students), которые по таблице Progress сдавали экзамены самыми последними (дата сдачи экзаменов Date_exam максимальна).
- Вывести список групп (поле Name_group), в которых студентов больше 25.
Использование квантора существования (EXIST) в запросах
- Вывести список студентов (поля Surname, Name, Lastname из таблицы Students), которые сдали все экзамены без двоек (подзапрос по таблице Progress).
- Вывести список студентов (поля Surname, Name, Lastname из таблицы Students), которые не сдавали ни одного экзамена (подзапрос по таблице Progress).
- Вывести список студентов (поля Surname, Name, Lastname из таблицы Students), которые сдали все экзамены на "отлично" (подзапрос по таблице Progress).
Оператор обработки данных Update
- Увеличить номер курса (поле Num_course) у всех групп на единицу в таблице Groups, если системная дата равна значению «первое сентября нового учебного года».
- Изменить в таблице Students содержимое поля Lastname на ‘нет сведений’, если значение поля является пустым.
- Изменить в таблице Subjects значение поля Name_subject на ‘математический анализ’, если название дисциплины – ‘высшая математика’.
Оператор обработки данных Insert
- Добавить в таблицу Student новую запись, причем так, чтобы код студента (по полю Code_stud) был автоматически увеличен на единицу, а ФИО = ‘Иванов’ ‘Павел’ ‘Сергеевич’ (поля Surname, Name, LastName).
- Добавить в таблицу успеваемости Progress новую запись, вместо кода студента (поле Code_stud) поставить 45, вместо кода предмета (поле Code_subject) – 12, вместо кода лектора (поле Code_lector) – 11, вместо даты экзамена (поле Date_exam) –’12.03.2003’.
- Добавить в таблицу преподавателей Lectors новую запись, причем вместо ключевого поля поставить код (по полю Code_lector), автоматически увеличенный на единицу от максимального кода в таблице, вместо имени (поле Name_lector) – ‘Петров Савелий Яковлевич’, вместо ученой степени (поле Science) – ‘к.т.н.’.
Оператор обработки данных Delete
- Удалить из таблицы Students все записи, код группы которых равен 35, или 15, или 19 (условие по полю Code_group).
- Удалить из таблицы Subjects все записи, в которых в поле Name_subject нет данных или в поле содержится пустое значение.
- Удалить из таблицы Progress все записи, в которых не указана дата экзамена (поле Date_exam пустое).
ВАРИАНТЫ ЗАДАНИЙ
№ варианта Список упражнений
1 | 1 | 14 | 27 | 40 | 53 |
2 | 2 | 15 | 28 | 41 | 54 |
3 | 3 | 16 | 29 | 42 | 55 |
4 | 4 | 17 | 30 | 43 | 56 |
5 | 5 | 18 | 31 | 44 | 57 |
6 | 6 | 19 | 32 | 45 | 58 |
7 | 7 | 20 | 33 | 46 | 59 |
8 | 8 | 21 | 34 | 47 | 60 |
9 | 9 | 22 | 35 | 48 | 61 |
10 | 10 | 23 | 36 | 49 | 62 |
11 | 11 | 24 | 37 | 50 | 63 |
12 | 12 | 25 | 38 | 51 | 64 |
13 | 13 | 26 | 39 | 52 | 65 |
14 | 66 | 79 | 92 | 105 | 118 |
15 | 67 | 80 | 93 | 106 | 119 |
16 | 68 | 81 | 94 | 107 | 120 |
17 | 69 | 82 | 95 | 108 | 121 |
18 | 70 | 83 | 96 | 109 | 122 |
19 | 71 | 84 | 97 | 110 | 123 |
20 | 72 | 85 | 98 | 111 | 124 |
21 | 73 | 86 | 99 | 112 | 125 |
22 | 74 | 87 | 100 | 113 | 126 |
23 | 75 | 88 | 101 | 114 | 127 |
24 | 76 | 89 | 102 | 115 | 128 |
25 | 77 | 90 | 103 | 116 | 129 |
26 | 78 | 91 | 104 | 117 | 130 |
1.5. Составление отчета
Отчет о проделанной работе должен включать
- описание структуры всех таблиц с соответствующими скриншотами и таблицы с данными;
- описание всех запросов с соответствующими командами SELECT в текстовом формате и скриншотами результатов их выполнения.
- текстовый файл с командами SQL, созданный в результате экспорта базы данных;
Ссылки на файлы отчета разместить в своем блоге в разделе “Лабораторные работы”.
Источник:
Семёнова И.И. - Сборник упражнений по стандарту SQL. Омск: Изд. СибАДИ, 2005.