МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Лабораторная работа №4
по дисциплине
«Базы данных и экспертные системы»
подготовил:
студент группы А-13-08
Ганишев В.
проверил:
Сидорова Н.П.
Цель:
Приобрести практические навыки выполнения запросов с подзапросами.
Запросы.
Задание 1
Выдать список учащихся САНКТ-ПЕТЕРБУРГА (код 002) только медицинских специальностей (шифры от 000401 до 000420 и от 140001 до 150050). В отчете должен быть соответствующий заголовок и все поля, кроме полей НОМЕР и СЕМ_ПОЛОЖЕНИЕ_К. Данные отсортировать по учебным заведениям, категориям обучения и специальностям.
select fio as 'ФИО',
data_rogden as Дата рождения',
pol as 'Пол',
family.family_status as 'Семейное положение',
spec as 'Специальность',
kat_obuch.kat_obucheniya as 'Категория обучения',
vuz.uch_zavedenie as 'ВУЗ',
mp as 'Месяц поступления',
gp as 'Год поступления',
mo as 'Месяц окончания',
gok as 'Год окончания’
from bel join vuz on vuz.cod = bel.vuz_k
join kat_obuch on kat_obuch.cod = bel.kat_obuch_k
where kat_obuch_k = '03'
and spec between '000401' and '000420' or spec between '140001' and '150050'
and vuz_k in (select cod from vuz join vuz_gorod on vuz.uch_zavedenie = vuz_gorod.nazvanie_vuza where vuz_gorod.cod_goroda = 002)
order by 6,5,4
Задание 2
Выдать список студентов и аспирантов вашего государства только 1965 года рождения и только холостых. В отчете должен быть соответствующий заголовок и все поля, кроме полей НОМЕР, ДАТА_РОЖДЕНИЯ и СЕМ_ПОЛОЖЕНИЕ_К. Данные отсортировать по категориям обучения и учебным заведениям.
select fio as 'ФИО',
pol as 'Пол',
spec as 'Специальность',
kat_obuch.kat_obucheniya as 'Категория обучения',
vuz.uch_zavedenie as 'ВУЗ',
mp as 'Месяц поступления',
gp as 'Год поступления',
mo as 'Месяц окончания',
gok as 'Год окончания’
from bel join vuz on vuz.cod = bel.vuz_k
join kat_obuch on kat_obuch.cod = bel.kat_obuch_k
join family on family.cod = sem_polog_k
where kat_obuch_k in ('03','07')
and data_rogden like '%65'
and sem_polog_k = '0'
order by 5,9,3
Задание 3
Выдать список учащихся всех городов вашего государства, кроме столицы, и только мужского пола. В отчете должен быть соответствующий заголовок и все поля, кроме полей НОМЕР и ПОЛ. Данные отсортировать по учебным заведениям, годам окончания и специальностям.
select fio as 'ФИО',
data_rogden as Дата рождения',
family.family_status as 'Семейное положение',
spec as 'Специальность',
kat_obuch.kat_obucheniya as 'Категория обучения',
vuz.uch_zavedenie as 'ВУЗ',
mp as 'Месяц поступления',
gp as 'Год поступления',
mo as 'Месяц окончания',
gok as 'Год окончания’
from bel join vuz on vuz.cod = bel.vuz_k
join kat_obuch on kat_obuch.cod = bel.kat_obuch_k
join family on family.cod = sem_polog_k
where kat_obuch_k = '05'
and not bel.pol = 'М'
and vuz_k in (select vuz.cod from vuz join vuz_gorod on vuz_gorod.nazvanie_vuza = vuz.uch_zavedenie where not vuz_gorod.cod_goroda = '151')
order by 6,10,4