4. 1. Синтаксис запиту SQL
Запит SELECT може використовуватися як:
• самостійна команда на отримання і вивід рядків таблиці,
сформованої із стовпців і рядків однієї або декількох таблиць
(подань);
• елемент SELECT, WHERE-або HAVING-умови (скорочений
варіант пропозиції, так званий "вкладений запит");
• запит на формування даних представлення в команді CREATE
VIEW;
• засіб вибірки інформації, необхідної для модифікації даних в
інших таблицях (багаторядкові запити DML);
• засіб присвоєння глобальним змінним значень з рядків
сформованої таблиці (INTO-фраза).
10. Запити до однієї таблиці
Обробка елементів запиту SELECT виконується в наступній
послідовності:
1) FROM - визначаються імена об'єктів;
2) WHERE - виконується фільтрація рядків об'єкта відповідно
до заданих умов;
3) GROUP BY - утворюються групи рядків, які мають одне і
те ж значення у зазначеному елементі (стовпці);
4) HAVING - фільтруються групи рядків об'єкта відповідно до
зазначених умов;
5) SELECT - встановлюється, які елементи повинні бути
присутніми у вихідних даних;
6) ORDER BY - визначається впорядкованість результатів
виконання запиту.
12. Запити до однієї таблиці
SELECTSELECT
вказується список стовпців ТРЗ, які повинні бути повернуті
запитом SELECT
DISTINCT | ALLDISTINCT | ALL
визначає, що робити з повторюваними рядками
результату
FIRST…SKIP або ROWS…
TO
FIRST…SKIP або ROWS…
TO
обмеження кількості рядків, які повертаються запитом
FROMFROM
список об'єктів БД, які містять дані, що зчитуються
запитом
WHEREWHERE
показує, що в результати запиту слід включати тільки деякі рядки. Для
відбору рядків, що включаються в результати запиту, використовується
умова пошуку
GROUP BYGROUP BY
дозволяє створити підсумковий запит, який спочатку групує рядки таблиці
за певною ознакою, а потім включає в результати запиту один підсумковий
рядок для кожної групи
HAVINGHAVING
показує, що в ТРЗ слід включати тільки деякі з груп, створених за
допомогою пропозиції GROUP BY. Теж використовується умова
пошуку
PLANPLAN
служить для визначення користувачем власних способів
виконання запитів
ORDER BYORDER BY
сортує результати запиту на підставі даних, що містяться в
одному або декількох стовпцях ТРЗ
13. 2.1. Пропозиції SELECT і FROM
В пропозиції SELECT (з якої починається запит SELECT)
необхідно вказати елементи даних, які будуть повернуті в
результаті запиту. Ці елементи складають стовпці ТРЗ і
задаються у вигляді списку елементів для повернення, що
розділені комами.
Синтаксис елементів повернення однотабличного запиту
має наступний вигляд:
14. 2.1. Пропозиції SELECT і FROM
В пропозиції SELECT (з якої починається запит SELECT)
необхідно вказати елементи даних, які будуть повернуті в
результаті запиту. Ці елементи складають стовпці ТРЗ і
задаються у вигляді списку елементів для повернення, що
розділені комами.
Синтаксис елементів повернення однотабличного запиту
має наступний вигляд:
15. 2.1. Пропозиції SELECT і FROM
В пропозиції SELECT (з якої починається запит SELECT)
необхідно вказати елементи даних, які будуть повернуті в
результаті запиту. Ці елементи складають стовпці ТРЗ і
задаються у вигляді списку елементів для повернення, що
розділені комами.
Синтаксис елементів повернення однотабличного запиту
має наступний вигляд:
18. 2.1. Пропозиції SELECT і FROM
Крім стовпців, значення яких зчитуються безпосередньо з БД, SQL-запит на
читання може містити обчислювані стовпці, значення яких визначаються на
підставі значень даних, що зберігаються в БД. Щоб отримати обчислюваний
стовпець, в списку елементів повернення необхідно вказати вираз.
20. 2.1. Пропозиції SELECT і FROM
Існує можливість управляти кількістю рядків, що повертаються запитом. Це
робиться в запиті SELECT з використанням наступної конструкції:
[FIRST m] [SKIP n],
де m і n - цілочисельні вирази.
Конструкція
[ROWS k [TO r]]
використовується для обмеження кількості рядків, що повертаються запитом.
Цілочисельні значення k і r показують, що рядки, починаючи з k-го по r-й,
будуть відображатися в ТРЗ.
23. 2.1. Пропозиція WHERE. Просте порівняння
При порівнянні двох значень можуть вийти три результати:
•Якщо порівняння істинно, то результат перевірки має значення TRUE;
•Якщо порівняння хибне, то результат перевірки має значення FALSE;
•Якщо хоча б одне з двох значень має значення NULL, то результатом перевірки
буде NULL.
25. 2.1. Пропозиція WHERE. Перевірка на відповідність шаблону
Шаблон – це рядок, в який можуть входити один або більше знаків
підстановки:
% - збігається з будь-якою послідовністю з нуля або більше символів,
_ - збігається з будь-яким окремим символом. При цьому слід пам'ятати,
що пробіл розглядається як звичайний символ.
В операційній системі MS DOS знаку % = *, а _ = ?.
При вказівці шаблону слід враховувати регістр символів. Так, наприклад,
LIKE '% А%' і LIKE '% а%' задають різні умови пошуку.
26. 2.1. Пропозиція WHERE. Перевірка на наявність послідовності символів
2.1. Пропозиція WHERE. Перевірка на співпадання з початком рядка
27. 2.1. Пропозиція WHERE. Перевірка на входження в множину
2.1. Пропозиція WHERE. Перевірка на значення NULL
28. 2.1. Пропозиція WHERE. Перевірка двох значень на відмінність
2.1. Пропозиція WHERE. Складені умови