
- •Лекції Мова запитів sql
- •1.Загальна характеристика
- •2.Особливості та переваги мови sql
- •3.Групи команд мови sql
- •4.Стандарт мови sql Типи даних sql
- •Операції та агрегатні функції.
- •Вибірка даних Оператор select
- •Речення from
- •Речення where
- •Речення group by
- •Речення having
- •Речення order by
- •Операція join
- •Вкладені підзапити
- •Операція union
- •Оператор select…into
- •Маніпулювання даними Оператор insert into
- •Оператор update
- •Оператор delete
- •Створення та знищення об’єктів бд
- •Створення бази даних
- •Оператор create table
- •Оператор alter table
- •Оператор drop
Речення from
Речення FROM міститься у операторі SELECT і є обов’язковим. Вказує на таблицю чи таблиці з якої вибирають дані. Порядок таблиць у виразі не важливий.
FROM <ім’я таблиці> [, …] [IN <ЗБД>];
Тут <ім’я таблиці> – назва таблиці, з якої потрібно вибрати записи; IN – оператор входження; <ЗБД> – ім’я БД, що містить таблиці, які вказані за допомогою FROM, якщо вони не знаходяться у поточній БД.
Речення where
Речення WHERE є необов’язковим.
Дане речення визначає умову вибірки
рядків із таблиць у реченні FROM, що
необхідно включити. Якщо речення WHERE не
включити у запит, то результатом будуть
усі рядки таблиці. Якщо в запиті
використовуються декілька таблиць і
речення WHERE не включити, то результатом
буде скалярний добуток таблиць.
[WHERE <умова>]
де <умова> – умова або умови вибору значень із поля.
Приклад 1. Вибрати прізвища студентів, яким є дев’ятнадцять років. Для цього використаємо речення WHERE.
SELECT Surname, Age FROM Students WHERE Age=19;
Результат – таб. 6
Таблиця 6
Surname |
Age |
Крупик |
19 |
Прапій |
19 |
Приклад 2. Вибрати студентів, що поступили на інформатику, яким менше 19 років.
SELECT Surname, Age, Speciality FROM Students WHERE Speciality='Інформатика' AND Age<19;
Результат - таб. 7
Таблиця 7
Surname |
Age |
Speciality |
Працків |
18 |
Інформатика |
Ятрів |
17 |
Інформатика |
Речення group by
Речення GROUP BY є необов’язковим. Використовується при формуванні підсумкових запитів. GROUP BY і об’єднує записи з однаковими значеннями у вказаному списку полів в один запис. Якщо оператор SELECT містить статистичну функцію, то для кожного поля буде розраховано підсумок. Дозволяє застосовувати агрегатні функції до кожної групи, яка визначається загальним значенням поля або полів, вказаних в цьому реченні.
[GROUP BY <назва поля>[,…]]
<назва поля> – поле, по якому відбувається групування.
Приклад. Підрахувати кількість студентів на кожній із спеціальностей і вивести назву спеціальності і кількість студентів на ній. Для зручності скористаємось реченням GROUP BY.
SELECT speciality, COUNT(speciality) FROM Students GROUP BY speciality;
Результат - табл. 8
Таблиця 8
Speciality |
COUNT(speciality) |
Інформатика |
4 |
Математика |
1 |
Речення having
Речення HAVING є необов’язковим. Після того, як записи будуть згруповані за допомогою GROUP BY, речення HAVING відбере ті значення з отриманих записів, що задовольнять умовам вибірки, які вказані у реченні HAVING
[HAVING <умова>]
<умова> – умова або умови відбору значень із отриманих записів.
Приклад. Видати назви спеціальностей на які поступило більше трьох людей та точну їх кількість. Для цього після використання GROUP BY застосуємо речення HAVING.
SELECT Speciality, COUNT(Speciality) FROM Students GROUP BY Speciality HAVING COUNT(Speciality)>3;
Результат - табл. 9
Таблиця 9
Speciality |
COUNT(Speciality) |
Інформатика |
4 |