Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
управление данными.doc
Скачиваний:
46
Добавлен:
11.03.2015
Размер:
1.51 Mб
Скачать

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

Для выполнения этой и следующих работ схема данных должна иметь вид, приведенный в приложении 1.

1. Создайте следующие запросы:

а) Найти всех студентов с фамилией Иванов и телефоном на 41.

б) Вывести названия групп и фамилии преподавателей, преподающих в этих группах физику.

в) Получить список групп, в которых преподает преподаватель Миронов.

2. Введите следующие запросы в режиме конструктора. Объясните их смысл.

а)

SELECT группы.название, дисциплины.название

FROM дисциплины INNER JOIN

(группы INNER JOIN группы_дисциплины

ON группы.код = группы_дисциплины.код_группы)

ON дисциплины.код = группы_дисциплины.код_дисц;

б)

SELECT Фамилия, Имя, Отчество

FROM Преподаватели, Кафедры

WHERE Преподаватели.код_каф = Кафедры.код

AND Кафедры.название = "математика"

в)

SELECT DISTINCT Фамилия, Имя

FROM студенты, группы, сессия

WHERE студенты.код = сессия.код_студ AND

студенты.код_группы = группы.код AND

сессия.оценка = 5

г)

SELECT группы.название, дисциплины.название, группы_дисциплины.часов

FROM

дисциплины INNER JOIN (группы INNER JOIN группы_дисциплины ON группы.код = группы_дисциплины.код_группы)

ON дисциплины.код = группы_дисциплины.код_дисц

WHERE группы.название = "Гр1";

Содержание отчета

  1. Запишите текст созданных запросов.

  2. Приведите ответы на контрольные вопросы.

Контрольные вопросы

  1. С использованием какой команды SQL конструируются запросы на выборку? Объясните формат записи этой команды.

  2. Какими способами в Access можно конструировать запросы?

  3. Какими способами можно записывать запросы с соединением?

  4. Какой способ соединения таблиц используется при создании запроса с помощью конструктора?

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

Функции агрегирования

Цель работы: получить представление о способах использования агрегатных функций внутри запросов на выборку.

Основные понятия

Агрегатные функции применяются для обобщения значений одного поля таблицы. Они дают единственное значение для целой группы строк таблицы.

Ниже приводится список этих фунцкий:

COUNT определяет количество строк или значений поля, выбранных посредством запроса и не являющихся NULL-значениями.

Пример 1.

Сколько всего студентов в базе данных ?

SELECT COUNT(*) AS [количество студентов]

FROM студенты;

Рис. 4.1. Подсчет общего количества строк в таблице студенты

SUM вычисляет арифметическую сумму всех выбранных значений данного поля.

Пример 2.

Посчитать количество часов учебной нагрузки у преподавателя c кодом 1.

SELECT Sum(группы_дисциплины.часов)

FROM группы_дисциплины

WHERE группы_дисциплины.код_преп = 1

AVG вычисляет среднее арифметическое всех выбранных значений данного поля.

Пример 3.

Вычислить средний балл для всех студентов по математике:

SELECT AVG(оценка) AS [средняя оценка]

FROM сессия INNER JOIN дисциплины

ON сессия.код_дисц = дисциплины.код

WHERE название = 'Математика'

Рис. 4.2. Подсчет средней оценки по математике

MAX, MIN – возвращают максимальное и минимальное значения из всех выбранных значений данного поля.

Пример 4.

Поиск максимального кода студента

SELECT MAX(код)

FROM студенты

Аналогично функции MAX работает функция MIN.