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

45.Назначение части from в операторе поиска, поясните на примере.

В части FROM задается перечень исходных отношений (таблиц) запроса.

Пример: бд «Сессия»

R1=(ФИО, Дисциплина, Оценка)

R2=(ФИО, Группа)

R3=(Группа, Дисциплина)

Примеры использования оператора SELECT.

  • Список всех групп (без повторений), где должны пройти экзамены

SELECT DISTINCT Группы FROM R3 46.Поясните принцип соединения таблиц в запросе, поясните на примере.

  • Список всех студентов, которым надо что-либо сдавать, вместе с названием дисциплины.

SELECT ФИО, Дисциплина FROM R2, R3 WHERE R2.Группа = R3.Группа

Здесь часть WHERE задает условия соединения отношений R2 и R3. При отсутствии условий соединения в части WHERE результат будет эквивалентен расширенному декартову произведению и, в этом случае, каждому студенту были бы приписаны все дисциплины из отношения R3, а не те, которые должна сдавать его группа. 47.Понятие фильтрации при запросе, правила соединения отдельных частей фильтров, поясните на примере.

  • Список студентов, которые сдали экзамен по БД на «отлично»

SELECT ФИО FROM R1 WHERE Дисциплина = 'БД’ AND Оценка = 5 48.Понятие группировки и назначение группировки, агрегатные функции. Приведите пример.

Операция агрегирования позволяет сгруппировать множество записей, которые содержат одинаковые значения столбцов группировки и после этого можно применить к полученным группам записей одну из агрегатных функций обработки результатов. Всего в стандарте задано 5 агрегатных функций.

Функция

Результат

COUNT()

Количество строк или непустых значений полей, которые выбрал запрос в группе

SUM(A)

Сумма всех выбранных значений данного поля A в группе

AVG(A)

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

MIN(A)

Наименьшее из всех выбранных значений данного поля A в группе

MAX(A)

Наибольшее из всех выбранных значений данного поля A в группе

Используя операцию группировки, следует помнить, что запросы с группировкой позволяют включать в список вывода только подсписок полей группировки и значения агрегатных функций. Если мы подумаем над этим ограничением, то поймем, что оно вполне резонно, т.к. все остальные значения будут неоднозначны для группы, а применив группировку мы выводим всегда только группы (или все или те, для которых истинно условие отбора , заданное в части HAVING).

Пример: F = {N, ФИО, Филиал, ДатаОткрытия, ДатаЗакрытия, Остаток}, здесь N – номер счета.

Например, предположим, что мы хотим найти суммарный остаток на счетах в каждом из филиалов.

SELECT Филиал, SUM(Остаток) FROM F GROUP BY Филиал

Вывести список филиалов, суммарные значения остатков на счетах которых превышают 5000.

SELECT Филиал, SUM(Остаток) FROM F GROUP BY Филиал HAVING SUM(Остаток) > 5000

Вывести список филиалов из Санкт‑Петербурга, Пскова и Урюпинска и суммарные остатки на их счетах

SELECT Филиал, SUM(Остаток) FROM F GROUP BY Филиал HAVING Филиал IN (‘Санкт‑Петербург’, ‘Псков’, ‘Урюпинск’)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]