Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет ЛР БД.doc
Скачиваний:
1
Добавлен:
17.08.2019
Размер:
2 Мб
Скачать
☆

Обсяг: Товари.Ціна*Поставки.Кількість

Конструктор сам додасть необхідні метасимволи (квадратні дужки) у формулу.

Рис. 4. Розрахунок обсягу за допомогою обчислень у запиті.

Є також можливість визначити для поля, що обчислюється, умови відбору, які дозволять відбирати використовувані в розрахунках дані.

Заповнюючи клітинку в рядку Групповая операция в бланку запиту, можна виконати розрахунки для груп записів і обчислити суму, середнє, кількість або інший тип підсумкового значення для поля за допомогою дванадцятьох елементів списку, що розкривається та містить такі статистичні функції: Avg - середнє від значень поля, Count - число значень поля без врахування пустих значень, StDev - середнє квадратичне відхилення від середнього значення поля, Var - дисперсія значень поля, First - перше значення поля, Last - останнє значення поля тощо.

Рис. 5. Виконання групування у запиті

В режимі SQL оператор на вибірку SELECT має загальний вигляд (параметри, виділені підкресленим шрифтом, є обов’язковими)

SELECT список полів AS псевдоним

FROM список таблиць

WHERE умова AND вираз об’єднання таблиць

GROUP BY список полів

ORDER BY список полів,

де список полів – імена полів, які будуть включені до запиту (* означає всі поля),

AS задає псевдоним – назву полу у запиті,

FROM задає список таблиць - імена таблиць які будуть включені до запиту,

WHERE– задає умова відбору даних,

GROUP BY задає перелік полів для групування;

ORDER BY - для сортування даних: ASC – у порядку зростання (по замовчуванню), DESС – у порядку зменшення.

В умові можна використовувати знаки порівняння (<,<=,>,>=,=,<>); математичні (=,-,*,/); логічні (AND, OR, NOT) операції; оператори IN – визначає набір значень, з яких потрібно вибирати; LIKE – для пошуку груп записів; BETWEEN...AND – в межах; DISTINCT – повторювані значення, зазначені вище та інші статистичні функції.

Також в операторі SELECT застосовуються ключові слова INNER JOIN для відображення зв’язків між таблицями.

Приклад 1. Існують таблиці:

Рис.6. Початкові таблиці для виконання запитів на вибірку

Вибрати Групу, Номер залікової книжки, Прізвище, ініціали студента, Назву предмета та Кількість балів, впорядкувавши вибірку за назвою предмета.

SQL:

SELECT Студенти.Група, Бали.[Номер залік_книжки], Студенти.[Прізвище, ініціали студента],

Предмети.[Назва предмета], Бали.[Кількість балів]

FROM Студенти

INNER JOIN (Предмети

INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])

ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]

ORDER BY Предмети.[Назва предмета];

Таблиця 1

Результат виконання запиту 1

Група

Номер залік_книжки

Прізвище, ініціали студента

Назва предмета

Кількість балів

ББС-1-08

А001

Авраменко Р.О.

Бухгалтерський облік

78

ББС-1-08

В001

Винниченко М.Р.

Економічна теорія

69

ББС-1-08

В001

Винниченко М.Р.

Організація та проектування БД

83

ББС-1-08

А001

Авраменко Р.О.

Організація та проектування БД

91

Приклад 2. На прикладі тих же таблиць (див. Приклад 1) вибрати Групу, Номер залікової книжки, Прізвище, ініціали студента, Назву предмета та Кількість балів за умови, що кількість балів відповідає оцінці «4» за чотирибальною шкалою (71-90).

SQL:

SELECT Студенти.Група, Бали.[Номер залік_книжки], Студенти.[Прізвище, ініціали студента],

Предмети.[Назва предмета], Бали.[Кількість балів]

FROM Студенти

INNER JOIN (Предмети

INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])

ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]

WHERE Бали.[Кількість балів]>=71 And Бали.[Кількість балів]<91;

Таблиця 2

Результат виконання запиту 2.

Група

Номер залік_книжки

Прізвище, ініціали студента

Назва предмета

Кількість балів

ББС-1-08

А001

Авраменко Р.О.

Бухгалтерський облік

78

ББС-1-08

В001

Винниченко М.Р.

Організація та проектування БД

83

Той же оператор можна було замінити WHERE Бали.[Кількість балів] BETWEEN 71 AND 90;

Приклад 3. На прикладі тих же таблиць вибрати Групу, Назву предмета з групуванням за обома полями та визначити середню кількість балів за кожною групою та предметом, назвавши нове поле «Середня кількість балів».

SQL:

SELECT Студенти.Група, Предмети.[Назва предмета],

Avg(Бали.[Кількість балів]) AS [Середня кількість балів]

FROM Студенти

INNER JOIN (Предмети INNER JOIN Бали ON Предмети.[Код предмета] = Бали.[Код предмета])

ON Студенти.[Номер залік_книжки] = Бали.[Номер залік_книжки]

GROUP BY Студенти.Група, Предмети.[Назва предмета];

Таблиця 3

Результат виконання запиту 3.

Група

Назва предмета

Середня кількість балів

ББС-1-08

Бухгалтерський облік

78

ББС-1-08

Економічна теорія

69

ББС-1-08

Організація та проектування БД

87