
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •2.8.5. Элементы языка sql и запросы в форме sql
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
- •2.8. Обработка данных в базе
- •Глава 2. Использование субд access
Глава 2. Использование субд access
В первом случае будут выведены неповторяющиеся даты рождения студентов, которые имеют новое наименование — Юбилей. Во втором случае в результирующей таблице присутствуют все записи. но вместо [Дата рождения] указан Год и вместо Фамилия и Имя соединенных вместе через пробел, — ФИО.
Наиболее часто слово AS применяется для именования вычисляемых полей.
Задание условий выборки
Предложение WHERE может содержать выражения, связанные логическими операторами, с помощью которых задаются условия выборки (табл. 2.6).
Таблица 2.6. Логические условия для построения условий выборки
Кроме того, могут использоваться операторы для построения условий:
LIKE — выполняет сравнение строковых значений;
BETWEEN...AND — выполняет проверку на диапазон значений;
IN — выполняет проверку выражения на совпадение с любым из элементов списка;
IS — проверка значения на Null;
Условие обеспечивает «горизонтальную» выборку данных, т. е. результатом запроса будут только те записи, которые удовлетворяют сформулированным условиям.
Пример 2.15.
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.81 # 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.
Групповые функции SQL
Групповые функции необходимы для определения статистических данных на основе наборов числовых значений:
• Avg — вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса;
• Count — вычисляет количество выделенных записей в запросе;
• Min, Max — возвращают минимальное и максимальное значения из набора в указанном поле запроса;
• StDev, StDevPs — возвращают среднеквадратическое отклонение генеральной совокупности и выборки для указанного поля в запросе;
• Sum — возвращает сумму значений в заданном поле запроса;
• Var, VarPs — возвращает дисперсию распределения генеральной совокупности и выборки для указанного поля в запросе.
Для определения полей группирования указывается ключевое слово HAVING для заданного условия по группе при вычислении групповых значений.
Пример 2.16.
SELECT Фамилия, Avg(Peзyльтaт) AS Средний балд
FROM Результаты GROUP BY [№ зач.книжки]
SELECT [Код дисциплины], Avg(Результаты) AS Средний балл
FROM Результаты GROUP BY [Код дисциплины]
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, во втором случае — список кодов дисциплин и средний балл по дисциплине.
Пример 2.17.
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