- •Лекції Мова запитів sql
- •1.Загальна характеристика
- •2.Особливості та переваги мови sql
- •3.Групи команд мови sql
- •4.Стандарт мови sql Типи даних sql
- •Операції та агрегатні функції.
- •Вибірка даних Оператор select
- •Речення group by
- •Речення having
- •Речення from
- •Речення where
- •Речення order by
- •Операція join
- •Вкладені підзапити
- •Операція union
- •Оператор select…into
- •Маніпулювання даними Оператор insert into
- •Оператор update
- •Оператор delete
- •Створення та знищення об’єктів бд
- •Створення бази даних
- •Оператор create table
- •Оператор alter table
- •Оператор drop
Речення order by
Речення ORDER BY є необов’язковим. Дане речення сортує записи, що отримані після виконання запиту за зростанням або спаданням указаних полів. Його необхідно вказувати для сортування результату запиту. За замовчуванням задано порядок сортування за зростанням
[ORDER BY {<назва поля>[ASC|DESC]} [,…]]
<назва поля> – поле, за яким відбувається сортування. ASC (DESC) – зареєстровані слово для розташування елементів у зростаючому (спадному) порядку.
Приклад. Виведемо на екран всю таблицю, яка відсортована у спаданні за віком студентів (табл. 2.10), а потім у зростанні за їх прізвищами.
SELECT * FROM Students ORDER BY Age DESC, Surname ASC;
Таблиця 10
Num |
Surname |
Name |
Age |
Speciality |
4 |
Селань |
Віктор |
20 |
Математика |
1 |
Крупик |
Віктор |
19 |
Інформатика |
2 |
Прапій |
Степан |
19 |
Інформатика |
3 |
Працків |
Оксана |
18 |
Інформатика |
5 |
Ятрів |
Олег |
17 |
Інформатика |
Операція join
Для завдання типу об’єднання у реченні FROM виконують операцію JOIN. Якщо в результат вибірки необхідно включити всі рядки з обох таблиць, що задовольняють умові вибірки, використовується операція INNER JOIN.
FROM <таблиця1> INNER JOIN <таблиця2> ON {<таблиця1>.<поле1>} <операція> {<таблиця2>.<поле2>}
де <таблиця1>, <таблиця2> – імена таблиць, записи яких підлягають об’єднанню. <поле1>, <поле2> – імена полів, що об’єднуються; якщо поля не є числовими, то повинні мати однаковий тип даних і вміщувати дані одного виду; поля можуть мати різні імена. <оператор> – будь-який оператор порівняння.
Операції JOIN можуть бути вкладеними.
SELECT <поля> FROM <таблиця1> INNER JOIN (<таблиця2> INNER JOIN [(] <таблиця3> [INNER JOIN [(] <таблицяX> [INNER JOIN…)] ON <таблиця3>.<поле3> <операція> <таблицяХ>.<полеХ>] ON <таблиця2>.<поле2> <операція> <таблиця3>.<поле3>) ON <таблиця1>.<поле1> <операція> <таблиця2>.<поле2>;
Для створення зовнішнього об’єднання використовують операції LEFT JOIN, RIGHT JOIN.
FROM <таблиця1> [ LEFT | RIGHT ] JOIN <таблиця2> ON <таблиця1>.<поле1> <операція> <таблиця2>.<поле2>
де <таблиця1>, <таблиця2> – імена таблиць, що підлягають об’єднанню. <поле1>, <поле2> – імена полів, що об’єднуються. <оператор> – будь-який оператор порівняння.
Операція LEFT JOIN використовується для створення лівого зовнішнього об’єднання, за якого всі записи з першої (лівої) таблиці включаються в динамічний набір, навіть якщо в другій (правій) таблиці немає відповідних до них записів. Якщо у другій таблиці, з якою виконується з’єднання, не має відповідних рядків, то замість значень її полів додається значення Null.
Операція RIGHT JOIN використовується для створення правого зовнішнього об’єднання, за якого всі записи з другої (правої) таблиці включаються в динамічний набір, навіть якщо в першій (лівій) таблиці немає відповідних до них записів. Якщо у першій таблиці, з якою виконується з’єднання, не має відповідних рядків, то замість значень її полів додається значення Null.
Операція LEFT JOIN або RIGHT JOIN можуть бути вкладені в операцію INNER JOIN, але не навпаки.
