Пример 2.17.
Пример 2.16.
SELECT Фамилия, Avg(Peзyльтaт) AS Средний балд
FROM Результаты GROUP BY [№ зач.книжки]
SELECT [Код дисциплины], Avg(Результаты) AS Средний балл
FROM Результаты GROUP BY [Код дисциплины]
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, во втором случае — список кодов дисциплин и средний балл по дисциплине.
SELECT Фамилия, Ау§(Результат) AS Средний балл
FROM Результаты
GROUP BY [№ зач.книжки] HAVING Avg (Результат) >4.5
SELECT [Код дисциплины]. Avg(Pe3\^bTaT)AS Средний балл FROM Результаты GROUP BY (Код дисциплины] HAVING Avg(Результат)<4
Габлица 2.6. Логические условия для построения условий выборки Опера-,. Опера-;.. Опера-,. Назначение: Назначение Назначение тор тор | | тор Логическое Иили Логическая[Логическое ИЛИ. AND конъюнкция (логи- Impимпликация i Or дизьюнкцияческое умножение) [ выражений (включающее Or) Проверка логиче-п.,„,, „ „ F... _ v Логическое ИЛИ Eqv скои эквивалентно- NotОтрицание Хог, „, (исключающее Or) стивыражении |
72
Глава 2. Использование СУБД ACCESS
|
|
В первом случае будут выведены неповторяющиеся даты рождения студентов, которые имеют новое наименование — Юбилей. Во втором случае в результирующей таблице присутствуют все записи. но вместо [Дата рождения] указан Год и вместо Фамилия и Имя соединенных вместе через пробел, — ФИО.
Наиболее часто слово AS применяется для именования вычисляемых полей.
Предложение WHERE может содержать выражения, связанные логическими операторами, с помощью которых задаются условия выборки (табл. 2.6).
Таблица 2.6. Логические условия для построения условий выборки
Кроме того, могут использоваться операторы для построения условий:
LIKE — выполняет сравнение строковых значений;
BETWEEN...AND — выполняет проверку на диапазон значений;
IN — выполняет проверку выражения на совпадение с любым из элементов списка;
IS — проверка значения на Null;
Условие обеспечивает «горизонтальную» выборку данных, т. е. результатом запроса будут только те записи, которые удовлетворяют сформулированным условиям.
SELECT Студент.* FROM Студент WHERE [Дата рождения]>=#01.01.79#
SELECT Студент.* FROM Студент WHERE [Дата рождения]>=#01.01.79# AND [Группа] IN ("1212". "1213")
SELECT Студент.* FROM Студент WHERE [Дата рождения] BETWEEN #01.01.79# AND #01.01. 8 1 # AND [Группа] IN ("1212", "1213")
SELECT Студент.* FROM Студент INNER JOIN [Студент заочник] On Студент.[Группа]= [Студент заочник].[Группа] WHERE Студент.Щата рождения] >=#01.01.79#
2.8. Обработка данных в базе
73
В первом случае выбираются студенты, дата рождения которых позже 1.1.79. Во втором случае будут отобраны все студенты, обучающиеся в группах 1212 или 1213 и дата рождения которых позже 1.1.79. В третьем случае выбираются студенты, дата рождения которых находится в заданном диапазоне, и они обучаются в любой из указанных групп. В четвертом случае выбираются студенты, которые обучаются в тех же группах, что и студенты-заочники, дата рождения которых позже 01.01.79.