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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.