МО и ПО РФ
НГТУ
по дисциплине “Базы данных”
Выполнил:
Студент группы АМ-010
Безлер И. В.
Преподаватель:
Трошина Г.В.
Цель работы: Изучить средства быстрого поиска информации в базе данных и получение ответов на разнообразные запросы в среде фокспро. Изучение конструктора запросов Фокспро. Научиться создавать запросы любого уровня сложности, производить различные вычисления над полями, выбираемыми из таблиц, осуществлять группировку полей запроса.
Задание: Выполнить выбор записей по диапазону значений для БД. Провести вычисление итоговых значений. Осуществить выборку из нескольких таблиц. Использовать результаты запроса для создания диаграмм Провести упорядочение данных в запросе по нескольким полям. Организовать вывод результатов запроса в таблицу, на экран, в отчет. Продемонстрировать приобретённые навыки построения многотабличных запросов.
Индивидуальное задание: Выполнить запросы: вывод мин, макс и среднего значений поля “возраст” для студентов ЭМФ; вывод студентов, учащихся на 4 и 5; вывод всех студентов кроме обучающихся на 2-м курсе факультета АВТ.
Структура таблиц
Запросы
Выбор всех столбцов из таблицы t_stud без связи с другими таблицами.
select * from t_stud
Выбор всех столбцов из таблицы t_stud со связью с другими таблицами.
SELECT T_stud.фамилия, T_stud.имя, T_stud.отчество, T_stud.дата_рождения,;
T_facult.факультет, T_stud.группа, T_stud.курс,;
T_stud.номер_студенческого, T_stip.стипендия, T_stud.Экзамен1, T_stud.Экзамен2, T_stud.Экзамен3;
FROM student!t_stud;
INNER JOIN student!t_stip ON T_stud.стипендия = T_stip.id_stip;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult
Минимальное значение поля “возраст” для студентов ЭМФ
SELECT (year(date()) - max(year(T_stud.дата_рождения))) as "Min_возраст_ЭМФ";
FROM student!t_stud;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE T_facult.факультет = "ЭМФ"
Среднее значение поля “возраст” для студентов ЭМФ
SELECT (year(date()) - avg(year(T_stud.дата_рождения))) as "Avg_возраст_ЭМФ";
FROM student!t_stud;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE T_facult.факультет = "ЭМФ"
Максимальное значение поля “возраст” для студентов ЭМФ
SELECT (year(date()) - min(year(T_stud.дата_рождения))) as "Max_возраст_ЭМФ";
FROM student!t_stud;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE T_facult.факультет = "ЭМФ"
Учащиеся на 4 и 5
select фамилия, имя, отчество, экзамен1, экзамен2, экзамен3;
from t_stud;
where (экзамен1 = 4 or экзамен1 = 5) and (экзамен2 = 4 or экзамен2 = 5) and (экзамен3 = 4 or экзамен3 = 5)
Все студенты, кроме 2-го курса АВТ
SELECT T_stud.фамилия, T_stud.имя, T_stud.отчество, T_stud.дата_рождения,;
T_facult.факультет, T_stud.группа, T_stud.курс;
FROM student!t_stud;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE not (T_facult.факультет = "АВТ" and T_stud.курс = 2)
Студенты АВТ 4-го курса
SELECT T_stud.фамилия, T_stud.имя, T_stud.отчество, T_stud.дата_рождения,;
T_facult.факультет, T_stud.группа, T_stud.курс;
FROM student!t_stud;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE (T_facult.факультет = "АВТ" and T_stud.курс = 4)
Студенты, стипендия у которых > 250 и < 550, кроме 1 и 2 курса АВТ и ЭМФ
SELECT T_stud.фамилия, T_stud.имя, T_stud.отчество, T_stud.дата_рождения,;
T_facult.факультет, T_stud.группа, T_stud.курс,;
T_stud.номер_студенческого, T_stip.стипендия, T_stud.Экзамен1, T_stud.Экзамен2, T_stud.Экзамен3;
FROM student!t_stud;
INNER JOIN student!t_stip ON T_stud.стипендия = T_stip.id_stip;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE not ((T_stud.курс = 1 or T_stud.курс = 2) and (T_facult.факультет = "АВТ" or T_facult.факультет = "ЭМФ")) and (T_stip.стипендия > 250 and T_stip.стипендия < 550)
Студенты, кроме 4 курса АВТ и все у кого стипендия > средней 1 и 2 курса АВТ и ЭМФ
SELECT T_stud.фамилия, T_stud.имя, T_stud.отчество, T_stud.дата_рождения,;
T_facult.факультет, T_stud.группа, T_stud.курс,;
T_stud.номер_студенческого, T_stip.стипендия, T_stud.Экзамен1, T_stud.Экзамен2, T_stud.Экзамен3;
FROM student!t_stud;
INNER JOIN student!t_stip ON T_stud.стипендия = T_stip.id_stip;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
where (not (T_facult.факультет = "АВТ" and T_stud.курс = 4)) and (T_stip.стипендия > (SELECT AVG(T_stip.стипендия);
FROM student!t_stud;
INNER JOIN student!t_stip ON T_stud.стипендия = T_stip.id_stip;
INNER JOIN student!t_facult ON T_stud.факультет = T_facult.id_facult;
WHERE (T_stud.курс = 1 or T_stud.курс = 2) and (T_facult.факультет = "АВТ" or T_facult.факультет = "ЭМФ")))
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.