Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція_Із_2.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
261 Кб
Скачать
☆

5.1.2 Фраза where

Фраза WHERE є необов’язковою. Дана фраза визначає умову вибірки результуючих рядків. Якщо фраза WHERE не включена у запит, то результатом будуть усі результуючі рядки. Якщо в запиті використовуються декілька таблиць і фраза WHERE відсутня, то результатом буде скалярний добуток таблиць.

Синтаксис:

[WHERE <умова>]

де <умова> – умова або умови вибору значень із поля чи полів які включають операції відношення, логічні операції, функції тощо.

Приклад 6.

Вибрати прізвища студентів, яким є дев’ятнадцять років. Для цього використаємо фразу WHERE.

Запит матиме вигляд:

SELECT Surname, Age FROM Students WHERE Age=19;

Результат – табл. 6

Таблиця 6

Surname

Age

Крупик

19

Прапій

19

Приклад 7.

Вибрати студентів, що поступили на інформатику і яким менше 19 років.

Запит матиме вигляд:

SELECT Surname, Age, Speciality FROM Students WHERE Speciality='Інформатика' AND Age<19;

Результат - табл. 7

Таблиця 7

Surname

Age

Speciality

Працків

18

Інформатика

Ятрів

17

Інформатика

Приклад 8.

Вивести прізвища всіх студентів для яких не задана спеціальність.

Запит матиме вигляд:

SELECT Surname, Age, Speciality FROM Students WHERE Speciality is null;

Результат – табл.8

Таблиця 8

Surname

Age

Speciality

Ціпій

20

Якщо потрібно вивести прізвища студентів із визначеними спеціальностями, то запит матиме вигляд:

SELECT Surname, Age, Speciality FROM Students WHERE Speciality is not null;

Приклади використання функцій between і in у запитах.

Select * from Students where Age between 17 and 19;

Select * from Students where Age in (17,19);

5.1.3 Фраза group by

Фраза GROUP BY є необов’язковою. Використовується при формуванні підсумкових запитів і об’єднує записи з однаковими значеннями у вказаному списку полів в один запис. Дозволяє застосовувати агрегатні функції до кожної групи, яка визначається загальним значенням поля або полів, вказаних в цій фразі.

Синтаксис:

GROUP BY

Параметр <таблиця> можна не використовувати у тих випадках, коли користувач працює з однією таблицею.

Параметр <назва поля> – поле, по якому відбувається групування. Йому може передувати ім’я таблиці, якщо вибір виконується більше ніж з однієї таблиці.

Приклад 9.

Підрахувати кількість студентів на кожній із спеціальностей і вивести назву спеціальності і кількість студентів на ній. Для зручності скористаємось реченням GROUP BY.

Запит матиме вигляд:

SELECT Speciality, COUNT(Speciality) FROM Students GROUP BY Speciality;

Тут функція Count повертає кількість записів у групі.

Результат - табл. 9

Таблиця 9

Speciality

COUNT(Speciality)

Інформатика

4

Математика

1

5.1.4 Фраза having

Фраза HAVING є необов’язковою. Після того, як записи будуть згруповані за допомогою GROUP BY, фраза HAVING відбере ті значення з отриманих записів, що задовольнять умовам вибірки, які вказані у HAVING.

Синтаксис:

[HAVING <умова>]

Параметр <умова> – умова або умови відбору значень із отриманих записів.

Приклад 10.

Видати назви спеціальностей на які поступило більше трьох людей та точну їх кількість. Для цього у GROUP BY застосуємо HAVING.

Запит матиме вигляд:

SELECT Speciality, COUNT(Speciality) FROM Students GROUP BY Speciality HAVING COUNT(Speciality)>3;

Результат - табл. 10

Таблиця 10

Speciality

COUNT(Speciality)

Інформатика

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]