Язык SQL: разработка БД, использование для обработки данных в СУБД MS Access. Основы программирования на языке SQL, использование средств СУБД MS Access, страница 4

SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Sum(Платежи.СуммаОплаты) AS [Фактическая сумма оплаты], [Фактическая сумма оплаты]*100/[Запланированная сумма оплаты] AS [Процент оплаты]

FROM Студенты INNER JOIN Платежи ON Студенты.КодСтудента = Платежи.КодСтудента

GROUP BY Студенты.Фамилия, Студенты.Имя, Студенты.Отчество;

На экран выводятся значения полей Фамилия, Имя, Отчество из таблицы Студенты и вычисляемые поля Фактическая сумма оплаты и Процент оплаты. Связь между таблицами осуществляется по полю «КодСтудента» и при помощи симметричного соединения (INNER JOIN). Соединяются таблицы «Студенты»  и «Платежи». Группировка осуществляется по полю Фамилия , Имя, Отчество из таблицы «Студенты».

-  Удаление записей.

DELETE Платежи.ДатаОплаты

FROM Платежи

WHERE (((Платежи.ДатаОплаты)<=[Дата оплаты]));

Используется для удаления  из таблицы «Платежи» всех данных об оплатах с датой до введенной.

-  Вывод записей.

SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Студенты.Город, Студенты.НазваниеУлицы, Студенты.Дом, Студенты.Корпус, Студенты.Квартира

FROM Студенты;

Используется для вывода данных о студентах.

-  Среднее значение суммы оплаты.

SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Sum(Платежи.СуммаОплаты) AS [Sum-СуммаОплаты], Avg(Платежи.СуммаОплаты) AS [Ср значение]

FROM Студенты INNER JOIN Платежи ON Студенты.КодСтудента = Платежи.КодСтудента

GROUP BY Студенты.Фамилия, Студенты.Имя, Студенты.Отчество;

Используется для вывода среднего значения суммы оплаты при одном платеже для каждого студента. На экран выводятся значения полей Фамилия, Имя, Отчество из таблицы Студенты и значение вычисляемого поля Avg-СуммаОплаты(вычисляет среднее арифметическое всех значений из сумм оплат для каждого студента). Связь между таблицами осуществляется по полю «КодСтудента» и при помощи симметричного соединения (INNER JOIN). Соединяются таблицы «СТУДЕНТЫ»  и «ПЛАТЕЖИ». Группировка осуществляется по полям Фамилия, Имя, Отчество из таблицы «СТУДЕНТЫ».

-  Вывод разницы между запланированной суммой оплаты и суммой всех платежей студента с заданной фамилией.

SELECT Студенты.Фамилия, Sum(Платежи.СуммаОплаты) AS [Sum-СуммаОплаты], [Запланированная сумма оплаты]-Sum([СуммаОплаты]) AS Разность

FROM Студенты INNER JOIN Платежи ON Студенты.КодСтудента = Платежи.КодСтудента

GROUP BY Студенты.Фамилия

HAVING (((Студенты.Фамилия)=[Фамилия студента]));

Используется для вывода разности между запланированной суммой оплаты и суммой всех платежей студента с заданной фамилией. На экран выводятся значение поля Фамилия из таблицы Студенты, значение вычисляемого поля Sum-СуммаОплаты(вычисляет сумму всех значений сумм оплат для каждого студента) и вычисляемое поле Остаток. Связь между таблицами осуществляется по полю «КодСтудента» и при помощи симметричного соединения (INNER JOIN). Соединяются таблицы «СТУДЕНТЫ»  и «ПЛАТЕЖИ». Группировка осуществляется по полю Фамилия из таблицы «СТУДЕНТЫ». Отображаться будут только те записи, у которых поле Фамилия совпадает с введённым значением.

-  Обновление данных.

UPDATE Студенты SET Студенты.Группа = [Новое название группы]

WHERE (((Студенты.Группа)=[Название группы]));

Используется для обновления в таблице «Студенты» группы. Обновляется поле Группа на новое значение при условии что значение поля Группа совпадает с введенным.

Вывод: в результате проведения данной лабораторной работы были изучены основы языка SQL для обработки данных в СУБД MS Access.