Выбор записей по диапазону значений для базы данных

Страницы работы

4 страницы (Word-файл)

Содержание работы

МО и ПО   РФ

НГТУ

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

по дисциплине “Базы данных”

Вариант 2.

Выполнил:

Студент группы АМ-010

Безлер И. В.

Преподаватель:

Трошина Г.В.

Новосибирск  2003

Цель работы: Изучить средства быстрого поиска информации в базе данных и получение ответов на разнообразные запросы в среде фокспро. Изучение конструктора запросов Фокспро. Научиться создавать запросы любого уровня сложности, производить различные вычисления над полями, выбираемыми из таблиц, осуществлять группировку полей запроса.

Задание: Выполнить выбор записей по диапазону значений для БД. Провести вычисление итоговых значений. Осуществить выборку из нескольких таблиц. Использовать результаты запроса для создания диаграмм Провести упорядочение данных в запросе по нескольким полям. Организовать вывод результатов запроса в таблицу, на экран, в отчет. Продемонстрировать приобретённые навыки построения многотабличных запросов.

Индивидуальное задание: Выполнить запросы: вывод мин, макс и среднего значений поля “возраст”  для студентов ЭМФ; вывод студентов, учащихся на 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.факультет = "ЭМФ")))

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
42 Kb
Скачали:
0