- •Бази даних Робота з скбд MySql
- •6.050103 «Програмна інженерія»
- •1 Лабораторна робота № 1 «Знайомство з пакетом «Денвер»
- •1.1 Мета роботи
- •1.2 Завдання до лабораторної роботи
- •1.3 Основні теоретичні відомості
- •2.2 Завдання до лабораторної роботи
- •2.3 Основні теоретичні відомості
- •2.3.1 Створення нової бази даних:
- •2.3.2 Створення та редагування таблиць:
- •Контрольні питання
- •3 Лабораторна робота № 3 «Проектування запитів»
- •3.1 Мета роботи
- •3.2 Завдання до лабораторної роботи
- •3.3 Основні теоретичні відомості
- •3.3.2 Розробка запитів до бази даних
- •Контрольні питання
- •2 Лабораторна робота № 2 «Створення бази даних»
- •2.1 Мета роботи
- •Вибір рядків: речення where
- •Агрегатні функції
- •Групування даних
- •З'єднання таблиць
- •Контрольні питання
- •Контрольні питання
- •4 Лабораторна робота № 5 «Робота з поданнями»
- •4.1 Мета роботи
- •4.2 Завдання до лабораторної роботи
- •4.3 Основні теоретичні відомості
- •Insert into Топ_Продавці values (201, 'Гриценко', 'Запоріжжя', 250);
- •Контрольні питання
- •5 Лабораторна робота № 5 «Вбудовані процедури та курсори»
- •5.1 Мета роботи
- •5.2 Завдання до лабораторної роботи
- •5.3 Основні теоретичні відомості
- •5.3.1 Вбудовані процедури
- •5.3.2 Курсори
- •Література
- •Додаток а Інсталяція пакету Денвер
Вибір рядків: речення where
Речення WHERE задає предикат, умову, що може бути вірною або помилковою для кожного рядка таблиці. У результаті вибираються тільки ті рядки з таблиці, для яких предикат має значення "істина". У табл. 3.2 наведені оператори та ключові слова для завдання умов вибору.
Таблиця 3.2 – Оператори завдання умов
Оператор, ключове слово |
Приклад використання |
оператори порівняння (=, <, >, >=, <=, <>, ! =); |
where ціна > 1000; |
комбінації умовних і логічних операцій - (AND,OR,NOT) |
where ціна < 5000 and ціна >2000 |
діапазони (BETWEEN і NOT BETWEEN) |
where ціна between 450 and 500 |
списки (IN, NOT IN) |
where товар in ("монітор", "принтер") |
невідомі значення (IS NULL і IS NOT NULL) |
where телефон is null |
відповідності символів (LIKE і NOT LIKE) |
where телефон not like "415%"; where назва like "*БД*" |
Агрегатні функції
Агрегатні функції (табл. 3.3) використовуються для одержання узагальнюючих значень. Вони дають єдине значення для цілої групи рядків таблиці
Таблиці 3.3 - Агрегатні функції
Функція |
Результат |
COUNT |
Визначає кількість рядків або значень поля, обраних за допомогою запиту, що не є NULL-значеннями |
SUM |
Обчислює арифметичну суму всіх обраних значень даного поля |
AVG |
Обчислює середнє значення для всіх обраних значень даного поля |
MAX |
Обчислює найбільше з всіх обраних значень даного поля |
MIN |
Обчислює найменше з всіх обраних значень даного поля |
Групування даних
Речення GROUP BY розділяє таблицю на набори, а агрегатна функція обчислює для кожного з них підсумкове значення. Ці значення називаються агрегатним вектором.
-
SELECT список вибору
FROM список таблиць
[WHERE умови]
[GROUP BY список_угруповання];
Наприклад:
select художник, count(картина)
from Музеї
group by художник;
До списку вибору включаються стовпчик, за яким проводиться угруповання, та агрегатна функція.
Речення HAVING
Речення WHERE накладає обмеження на рядки, а HAVING - на групи. Як правило, речення HAVING використовується разом із реченням GROUP BY.
Якщо в списку вибору є агрегатні функції, речення WHERE виконується перед ними, тоді як речення HAVING застосовується до всього запиту в цілому, після розбивки на групи та обчислення значень функцій.
В умові речення WHERE не можуть знаходитися агрегатні функції. Крім того, елементи речення HAVING повинні включатися до списку вибору. На речення WHERE це обмеження не поширюється. У реченні HAVING може міститися будь-яка кількість умов.
select тип, count(*) from Товари group by тип having count(*) > 1; |
select автор from Книги group by автор having автор like "П%"; |
