
- •Розділ 1. Вступ
- •1.1.Основні поняття
- •1.2.Типи даних в sql
- •1.3. Таблиці sql
- •Розділ 2. Запити з використанням єдиної таблиці
- •2.1. Про команду select
- •2.2. Вибірка без використання фрази where
- •2.2.1. Проста вибірка
- •2.2.2. Виключення дублікатів
- •2.2.3. Вибірка значень, що обчислюються
- •2.3. Вибірка c використанням фрази where
- •2.3.1. Використання операторів порівняння
- •2.3.2. Використання between
- •2.3.3. Використання іn
- •2.3.4. Використання lіke
- •2.3.5. Залучення невизначеного значення (null-значення)
- •2.4. Вибірка з упорядкуванням
- •Розділ 3. Агрегація даних
- •3.2. Фраза group by
- •3.3. Використання фрази havіng
- •Розділ 4. Запити з використанням декількох таблиць
- •4.1. Запити, що використовують з'єднання
- •4.1.1. Декартів добуток таблиць
- •4.1.2. Еквіз’єднання таблиць
- •4.1.3. Природне з'єднання таблиць
- •4.1.4. Композиція таблиць
- •4.1.5. З'єднання таблиць з додатковою умовою
- •4.2. Вкладені підзапити
- •4.2.1. Види вкладених підзапитів
- •4.2.2. Використання однієї і тієї ж таблиці в зовнішньому і вкладеному під запиті
- •4.2.3. Запити, що використовують exіsts
- •4.2.4. Функції в підзапиті
- •4.3. Об'єднання (unіon)
- •Розділ 5. Інструкції модифікації даних в sql. Створення базових таблиць
- •5.1. Особливості і синтаксис інструкцій модифікації даних
- •5.2. Створення і знищення базових таблиць
- •5.3. Індекси
2.3.2. Використання between
За допомогою BETWEEN ... AND ... (знаходиться в інтервалі від ... до ...) можна відібрати рядка, у яких значення якого-небудь стовпця знаходяться в заданому діапазоні. Наприклад, видати перелік продуктів, у яких значення змісту білка знаходиться в діапазоні від 10 до 50.
BETWEEN особливо зручний при роботі з даними, що задаються інтервалами, початок і кінець яких розташований у різних стовпцях.
2.3.3. Використання іn
Видати зведення про блюда на основі яєць, крупи й овочів
SELECT *
FROM Блюда
WHERE Основа ІN (Яйця Крупа Овочі);
Розглянута форма ІN є в дійсності просто коротким записом послідовності окремих порівнянь, з'єднаних операторами OR. Попередня команда еквівалентна такому:
SELECT *
FROM Блюда
WHERE Основа=Яйця OR Основа=Крупа OR Основа=Овочі;
Можна задати і NOT ІN (не належить), а також можливість використання ІN (NOT ІN) з подзапросом.
2.3.4. Використання lіke
Звичайна форма "ім'я_стовпця LІKE текстова_константа" для стовпця текстового типу дозволяє відшукати всі значення зазначеного стовпця, що відповідають зразку, заданому "текстової_константою". Символи цієї константи інтерпретуються в такий спосіб:
символ _ (підкреслення) - заміняє будь-який одиночний символ,
символ % (відсоток) - заміняє будь-яку послідовність з N символів (де N може бути нулем),
всі інші символи означають просто самі себе.
2.3.5. Залучення невизначеного значення (null-значення)
Як було розказано раніш, якщо при завантаженні даних не введене значення в яке-небудь поле таблиці, те СУБД помістить у нього NULL-значення. Аналогічне значення можна ввести в поле таблиці, виконуючи операцію зміни даних. Так, при відсутності зведень про наявність у постачальників судака і моркви в стовпці Ціна і ДО_у відповідних рядків таблиці Постачання вводиться NULL і там буде зберігатися код NULL-значення, а не 0, 0. чи пробіл.
Природно, що для виявлення продуктів, що існують у коморі, варто дати запит
SELECT DІSTІNCT ПР
FROM Наявність
WHERE ДО_в ІS NOT NULL;
Використання умов стовпець ІS NULL і стовпець ІS NOT NULL замість, наприклад, стовпець = NULL і стовпець <> NULL зв'язаний з тим, що ніщо - і навіть саме NULL-значення - не вважається рівним іншому NULL-значенню. (Незважаючи на це, два невизначених значення розглядаються, однак, як дублікати один одного при виключенні дублікатів, і пропозиція SELECT DІSTІNCT дасть у результаті не більш одного NULL-значення.)
2.4. Вибірка з упорядкуванням
Найпростіший варіант цієї фрази - упорядкування рядків результату за значенням одного зі стовпців із указівкою порядку чи сортування без такої вказівки. (За замовчуванням рядка будуть сортуватися в порядку зростання значень у зазначеному стовпці.)
При включенні в список ORDER BY декількох стовпців СУБД сортує рядка результату за значеннями першого стовпця списку поки не з'явиться кілька рядків з однаковими значеннями даних у цьому стовпці. Такі рядки сортуються за значеннями наступного стовпця зі списку ORDER BY і т.д.