Выборка данных с вычислениями в СУБД Access

RSS, Twitter, Vkontakte, Facebook

SQL запросы на выборку

Формирование SQL запросов с вычислениями в СУБД Access 2003 или 2007 (выборка данных с вычислением результата)

Автор: Владимир Ткаченко

Источник: Обучение в интернет

В данной статье рассмотрим запросы на выборку данных из таблиц БД Access с вычислением результата. Для создания запроса необходимо открыть базу данных sql_training_st1.mdb.

Для извлечения информации, хранящейся в базе данных БД Access 2003 или 2007, можно применить запрос SELECT на выборку данных из таблиц. Для запроса с вычислениями в запрос требуется ввести определенное выражение.

Выражение может выполнять вычисления, выводить время или дату, проверять данные и т.д. Например, выражением может быть такая формула "Итог_оценка" ="Оценка"/1,2, которую надо записать в идентификатор оператора "SELECT": [Оценка]/1.2 AS [Итог_ оценка].

Составим следующий SQL запрос (инструкцию SQL) на выборку, для этого выберем режим SQL, выполнив команду Вид/Режим SQL. Вводим с клавиатуры следующую инструкцию SQL:

SELECT [Группы].Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка, [Оценка]/1.2 AS [Итог_ оценка]
FROM ([Группы] INNER JOIN Студенты ON [Группы].КодГруппы=Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины= Успеваемость.КодДисциплины) ON Студенты.КодСтудента=Успеваемость.КодСтудента;

Эта инструкция состоит из двух предложений "SELECT. . ." и "FROM. . .". Первое предложение содержит оператор SELECT и идентификатор "[Группы].Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка, [Оценка]/1.2 AS [Итог_ оценка]".

Второе предложение содержит оператор FROM и идентификатор "([Группы] INNER JOIN Студенты ON [Группы].КодГруппы=Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины=Успеваемость.КодДисциплины) ON Студенты.КодСтудента=Успеваемость.КодСтудента".

FROM - определяет таблицы "Группы", "Студенты", "Дисциплины" и "Успеваемость", которые содержат поля, указанные в предложении SELECT. Следует отметить, что в запросе на выборку всегда присутствуют два оператора: SELECT и FROM. В зависимости от условий отбора в запросе на выборку могут присутствовать и другие операторы. На рисунке 1 представлен скриншот запроса на выборку данных с вычислением.

SQL запрос SELECT на выборку данных
Рис. 1. SQL запрос SELECT на выборку данных с вычислениями

В данном примере формируется выборка данных из поля "Название" таблицы "Группы", поля "Фамилия" таблицы Студенты, поля "Название" таблицы "Дисциплины" и поля "Оценка" таблицы "Успеваемость".

Сохраняем запрос с именем "Запрос_с_вычислениями". В результате выполнения команды "Сохранить" в «Области переходов» появится объект - «Запросы: Запрос_с_вычислениями».

После сохранения запроса на выборку необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». Результаты выполнения команды «Выполнить» представлены на рис. 2.

Содержимое таблицы Студенты
Рис. 2. Выборка данных из полей таблиц с вычислениями в поле "Итог_ оценка"

В вычисляемом поле "Итог_ оценка" запроса на выборку "Запрос_с_вычислениями" отображаются результаты вычислений.

sql_training_st1_calcul.mdb.

Подпишитесь на мою рассылку СУБД MS Access 2003, 2007 -это просто!