Выбор записей по нескольким условиям.
24.Выбрать коды поставщиков (поле Code_delivery), даты заказов (поле Date_order) и названия книг (поле Title_book), если количество книг (поле Amount) в заказе больше 100 или цена (поле Cost) за книгу находится
вдиапазоне от 200 до 500 руб.
25.Выбрать коды авторов (поле Code_author), имена авторов (поле Name_author), названия соответствующих книг (поле Title_book), если код издательства (поле Code_Publish) находится в диапазоне от 10 до 25 и количество страниц (поле Pages) в книге больше 120.
26.Вывести список издательств (поле Publish) из таблицы Publishing_house, в которых выпущены книги, названия которых (поле Title_book) начинаются со слова ‘Труды’ и город издания (поле City) – ‘Новосибирск’.
Многотабличные запросы (выборка из двух таблиц, выборка из трех таблиц с использованием JOIN).
27.Вывести список названий компаний-поставщиков (поле Name_company) и названия книг (поле Title_book), которые они поставили
впериод с 01.01.2002 по 31.12.2003 (условие по полю Date_order).
28.Вывести список авторов (поле Name_author), книги которых были выпущены в издательстве ‘Мир’ (условие по полю Publish).
29.Вывести список поставщиков (поле Name_company), которые поставляют книги издательства ‘Питер’ (условие по полю Publish).
30.Вывести список авторов (поле Name_author) и названия книг (поле Title_book), которые были поставлены поставщиком ‘ОАО Книготорг’ (условие по полю Name_company).
Вычисления.
31.Вывести суммарную стоимость партии одноименных книг (использовать поля Amount и Cost) и название книги (поле Title_book) в каждой поставке.
32.Вывести стоимость одной печатной страницы каждой книги (использовать поля Cost и Pages) и названия соответствующих книг (поле
Title_book).
33.Вывести количество лет с момента рождения авторов (использовать поле Birthday) и имена соответствующих авторов (поле
Name_author).
Вычисление итоговых значений с использованием агрегатных функций.
53
34.Вывести общую сумму поставок книг (использовать поле Cost), выполненных ‘ЗАО Оптторг’ (условие по полю Name_company).
35.Вывести общее количество всех поставок (использовать любое поле из таблицы Purchases), выполненных в период с 01.01.2003 по
01.02.2003 (условие по полю Date_order).
36.Вывести среднюю стоимость (использовать поле Cost) и среднее количество экземпляров книг (использовать поле Amount) в одной поставке, где автором книги является ‘Акунин’ (условие по полю
Name_author).
37.Вывести все сведения о поставке (все поля таблицы Purchases), а также название книги (поле Title_book) с минимальной общей стоимостью (использовать поля Cost и Amount).
38.Вывести все сведения о поставке (все поля таблицы Purchases), а также название книги (поле Title_book) с максимальной общей стоимостью (использовать поля Cost и Amount).
Изменение наименований полей.
39.Вывести название книги (поле Title_book), суммарную стоимость партии одноименных книг (использовать поля Amount и Cost), поместив результат в поле с названием Itogo, в поставках за период с 01.01.2002 по
01.06.2002 (условие по полю Date_order).
40.Вывести стоимость одной печатной страницы каждой книги (использовать поля Cost и Pages), поместив результат в поле с названием One_page, и названия соответствующих книг (поле Title_book).
41.Вывести общую сумму поставок книг (использовать поле Cost) и поместить результат в поле с названием Sum_cost, выполненных ‘ОАО Луч’ (условие по полю Name_company).
Использование переменных в условии.
42.Вывести список сделок (все поля из таблицы Purchases) за последний месяц (условие с использованием поля Date_order).
43.Вывести список авторов (поле Name_author), возраст которых меньше заданного пользователем (условие с использованием поля
Birthday).
44.Вывести список книг (поле Title_book), которых закуплено меньше, чем указано в запросе пользователя (условие с использованием поля Amount).
Использование переменных вместо названий таблиц.
45. Вывести список названий компаний-поставщиков (поле Name_company) и названия книг (поле Title_book), которые они поставили.
54
46.Вывести список авторов (поле Name_author), книги которых были выпущены в издательствах ‘Мир’, ‘Питер Софт’, ‘Наука’ (условие по полю
Publish).
47.Вывести список издательств (поле Name_company), книги которых были поставлены по цене 150 руб. (поле Cost).
55
Выбор результата в курсор.
48.Вывести список названий книг (поле Title_book) и количества страниц (поле Pages) в каждой книге и поместить результат в курсор с названием Temp1.
49.Вывести список названий компаний-поставщиков (поле Name_company) и поместить результат в курсор с названием Temp2.
50.Вывести список авторов (поле Name_author) и поместить результат в курсор с названием Temp3.
Использование функций совместно с подзапросом.
51.Вывести список книг (поле Title_book), у которых количество страниц (поле Pages) больше среднего количества страниц всех книг в таблице.
52.Вывести список авторов (поле Name_author), возраст которых меньше среднего возраста всех авторов в таблице (условие по полю
Birthday).
53.Вывести список книг (поле Title_book), у которых количество страниц (поле Pages) равно минимальному количеству страниц книг, представленных в таблице.
Использование квантора существования в запросах.
54.Вывести список издательств (поле Publish), книги которых были приобретены оптом (‘опт’ из поля Type_Purchase).
55.Вывести список авторов (поле Name_author), книг которых нет в таблице Books.
56.Вывести список книг (поле Title_book), которые были поставлены поставщиком ‘ЗАО Квантор’ (условие по полю
Name_company).
Оператор обработки данных Update.
57.Изменить в таблице Books содержимое поля Pages на 300, если код автора (поле Code_author) =56 и название книги (поле Title_book) =’Мемуары’.
58.Изменить в таблице Deliveries содержимое поля Address на ‘нет сведений’, если значение поля является пустым.
59.Увеличить в таблице Purchases цену (поле Cost) на 20 процентов, если заказы были оформлены в течение последнего месяца (условие по полю Date_order).
Оператор обработки данных Insert.
56
60.Добавить в таблицу Purchases новую запись, причем так, чтобы код покупки (поле Code_purchase) был автоматически увеличен на единицу, а в тип закупки (поле Type_purchase) внести значение ‘опт’.
61.Добавить в таблицу Books новую запись, причем вместо ключевого поля поставить код (поле Code_book), автоматически увеличенный на единицу от максимального кода в таблице, вместо названия книги (поле Title_book) написать ‘Наука. Техника. Инновации’.
62.Добавить в таблицу Publish_house новую запись, причем вместо ключевого поля поставить код (поле Code_publish), автоматически увеличенный на единицу от максимального кода в таблице, вместо названия города – ‘Москва’ (поле City), вместо издательства – ‘Наука’
(поле Publish).
Оператор обработки данных Delete.
63.Удалить из таблицы Purchases все записи, у которых количество книг в заказе (поле Amount) = 0.
64.Удалить из таблицы Authors все записи, у которых нет имени автора в поле Name_Author.
65.Удалить из таблицы Deliveries все записи, у которых не указан ИНН (поле INN пустое).
2.3. База данных «Успеваемость студентов»
На рисунке 22 представлен фрагмент упрощенной схемы данных для выполнения индивидуальных заданий. Прежде чем приступить к выполнению заданий необходимо в новой базе данных с названием DB_STUDY создать таблицы со структурой, показанной в таблицах 12–16, установить связи между таблицами, затем заполнить тестовыми данными.
Students |
|
Progress |
|
Subjects |
Code_stud |
|
Code_stud |
|
Code_subject |
Surname |
|
Code_subject |
|
Name_subject |
Name |
|
Code_lector |
|
Count_hours |
Lastname |
|
Date_exam |
|
|
Birthday |
|
Estimate |
|
|
Phone |
|
Code_progress |
|
|
Code_group |
|
|
|
|
Groups
Code_group
Name_group
Lectors
Code_lector
Name_lector
Science
57