Министерство образования и науки Российской Федерации
Новосибирский государственный технический университет
Кафедра вычислительной техники
Отчет по лабораторной работе №3
Создание запросов
Факультет: АВТ Преподаватель:
Группа: АМ-610 Трошина Г.В.
Вариант: 9
Студенты: Королевская В.Е.
Таратухин И.И.
Новосибирск, 2009
Выполнить выбор записей по диапазону значений для заданной базы данных. Провести вычисление итоговых значений. Осуществить выборку из таблицы. Провести упорядочение данных в запросе по нескольким полям. Продемонстрировать результаты работы запросов. Ответить на контрольные вопросы.
Выполнить запросы:
- Вывод минимального, максимального и среднего значений возраста для студентов 2 и 3 курса факультета ФАМ.
- Вывод фамилий всех студентов, получающих стипендию от 100 до 3000 рублей и проживающих во 2 и 6 общежитии, кроме обучающихся на 1 и 3 курсе факультетов ФЛА и РТФ.
- Вывод фамилий всех студентов, кроме обучающихся на 2 курсе факультетов РТФ и ФТФ.
- Выборка фамилий всех студентов 4 и 5 курса факультета АВТ, сдавших экзамен по математике на 4 и 5.
Для создания запроса выполняем следующие действия: File -> New (рис.1). В появившемся окне «Add table or view» выбираем необходимые таблицы и кликаем по кнопке «Add» (добавить) (рис.2), после чего в «Query designer» добавляется выбранная нами ранее таблица. Правой кнопкой кликаем по полю «Query designer» и выбираем «View SQL», т.е. создаем запрос (рис.3). В появившейся форме для вставки SQL-кода формируем интересующие нас запросы (листинг1-4).
Рис. 1. Окно менеджера создания нового файла
Рис.2. Окно менеджера добавления таблицы в среду запроса
Рис. 3. Менеджер создания запроса
Листинг 1. Запрос 1. Вывод минимального, максимального и среднего значений возраста для студентов 2 и 3 курса факультета ФАМ.
SELECT MIN(YEAR(DATE())-YEAR(Obshaga_new.birthdate)) AS младший,;
MAX(YEAR(DATE())-YEAR(Obshaga_new.birthdate)) AS старший,;
AVG(YEAR(DATE())-YEAR(Obshaga_new.birthdate)) AS средний;
FROM ;
obschaga!obshaga_new;
WHERE Obshaga_new.fac = ( "ФАМ" );
AND ( Obshaga_new.stage = ( 2 );
OR Obshaga_new.stage = ( 3 ) )
Листинг 2. Запрос 2. Вывод фамилий всех студентов, получающих стипендию от 100 до 3000 рублей и проживающих во 2 и 6 общежитии, кроме обучающихся на 1 и 3 курсе факультетов ФЛА и РТФ.
SELECT Obshaga_new.last_name, Obshaga_new.stipuxa, Obshaga_new.stage,;
Obshaga_new.fac, Obshaga_new.campus;
FROM ;
obschaga!obshaga_new;
WHERE ( ( Obshaga_new.stipuxa >= ( 100 );
AND Obshaga_new.stipuxa <= ( 3000 ) );
AND ( Obshaga_new.campus = ( 2 );
OR Obshaga_new.campus = ( 6 ) ) );
AND ( ( Obshaga_new.stage <> ( 1 );
AND Obshaga_new.stage <> ( 3 ) );
OR ( Obshaga_new.fac <> ( "ФЛА" );
AND Obshaga_new.fac <> ( "РТФ" ) ) )
Листинг 3. Запрос 3. Вывод фамилий всех студентов, кроме обучающихся на 2 курсе факультетов РТФ и ФТФ.
SELECT obshaga_new.last_name, obshaga_new.stage, obshaga_new.fac;
FROM obschaga!obshaga_new;
WHERE NOT((obshaga_new.stage=2);
AND((obshaga_new.fac="РТФ")OR(obshaga_new.fac="ФТФ")))
Листинг 4. Запрос 4. Выборка фамилий всех студентов 4 и 5 курса факультета АВТ, сдавших экзамен по математике на 4 и 5.
SELECT obshaga_new.last_name, obshaga_new.stage, obshaga_new.fac,obshaga_new.predm,obshaga_new.ball;
FROM obschaga!obshaga_new;
WHERE ((obshaga_new.stage=4)OR(obshaga_new.stage=5)AND(obshaga_new.fac="АВТ");
AND(obshaga_new.predm=матан)AND((obshaga_new.ball=4)OR(obshaga_new.ball=5)))
В ходе выполнения лабораторной работы было создано 4 запроса для работы с таблицей с использованием запроса SELECT. В данных запросах продемонстрированы возможности использования различных флагов и параметров для запроса SELECT, демонстрирующих многообразие возможностей выбранного инструмента.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.