Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (2011) / Ганишев / Лабораторная работа 3.docx
Скачиваний:
51
Добавлен:
28.06.2014
Размер:
869.87 Кб
Скачать

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

Лабораторная работа №4

по дисциплине

«Базы данных и экспертные системы»

подготовил:

студент группы А-13-08

Ганишев В.

проверил:

Сидорова Н.П.

Цель:

  1. Приобрести практические навыки выполнения запросов с подзапросами.

Запросы.

Задание 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