вівторок, 5 березня 2019 р.

Мова SQL. Підготовка до самостійної роботи

Самостійна робота №1. Робота з однотабличною базою даних.

Створення таблиці і введення даних

1. Створення нової таблиці

CREATE TABLE назва_таблиці(поле тип, поле тип, ...);

Перевіряємо:



 Все вірно. Закриваємо таблицю. Тепер треба її заповнити

2. Введення даних

INSERN INTO назва_таблиці VALUES(значення, значення,...);

 Перевіряємо таблицю

 Аналогічним чином створюється окремий запит на кожний запис

 Створення простих запитів і запитів з фільтрацією даних

3. Запит, який відображає всі поля таблиці

SELECT * FROM назва_талбиці;

 4. Запит, який відображає певні поля таблиці

SELECT поле, поле,..., поле FROM таблиця;

 5. Запит, який відображає певні поля та міняє назву полів в запиті (псевдоназва)

SELECT  поле AS нова_назва FROM таблиця;

6. Запит, який виводить певну інформацію, яка задовольняє певним умовам 

SELECT поле/поля FROM таблиця WHERE поле  =, >, <, >=, <= ,> значення;

 7. Запит, який ускладнює попередній, додавання складної умови (AND)

SELECT поле/поля FROM таблиця WHERE поле  =, >, <, >=, <= ,> значення AND поле  =, >, <, >=, <= ,> значення ;

або (OR)

SELECT поле/поля FROM таблиця WHERE поле  =, >, <, >=, <= ,> значення OR поле  =, >, <, >=, <= ,> значення ;

 

 А тепер і AND і OR разом

8. Запит, який робить вибірку по декільком значенням

SELECT поле/поля FROM таблиця WHERE поле  IN(значення, значення,...,значення );


9. Запити, які використовують в критерії відбору маску

SELECT поле/поля FROM таблиця WHERE поле  LIKE 'маска ';
маска:
* - замінює будь-яку кількість символів;
? - замінює один символ;
# - замінює одну цифру.

Приклад, LIKE 'Ф*' - всі слова на літеру Ф
Приклад, LIKE 'Файн?' - всі слова, які починаються на Файн , а закінчуються на будь-яку літеру
Приклад, LIKE '[АС]*' - всі слова, які починаються на літеру А і С


Приклад, LIKE '[!АС]*' - протилежний за значенням запит попереднього прикладу


Приклад, LIKE 'м#*' - всі значення, які починаються на літеру м, а за нею йде цифра

10. Запит, який фільтрує данні по діапазону значень 

SELECT поле/поля FROM таблиця WHERE поле BETWEEN ліва межа значення AND права межа значення

11. Запит, за допомогою якого прибираються непотрібні значення із вибірки

SELECT поле/поля FROM таблиця WHERE NOT поле умова значення

Особливість оператора NOT в тому, що він ставить перед назвою поля(стовпця), а не після. В прикладі відбулася фільтрація даних по полю price, значення якого не менше 100.

12. Вибірка порожніх значень

SELECT поле/поля FROM таблиця WHERE поле IS NULL

Порожнім записом вважається будь-яка комірка в таблиці, в яку не введено жодного символу. Якщо в комірку введено 0 або пробіл, то вважається, що поле заповнене.

13. Запит з параметром

SELECT поле/поля FROM таблиця WHERE поле = [питання діалогового вікна]

14. Сортування вибраних даних

SELECT поле/поля FROM таблиця ORDER BY поле/поля

Сортування за зростанням за замовчуванням. В першому прикладі сортування по полю rate. В другому - спочатку по полю rate, а потім по полю name. 

SELECT поле/поля FROM таблиця ORDER BY поле/поля DESC

Приклад запиту, який сортує вибрані дані, які побудовані на об'єднані полів (в результаті стовпець має псевдоназву)

15. Запит на додавання нових полів/стовпців

ALTER TABLE таблиця ADD COLUMN  назва_поля тип_поля інші_параметри

Додали символьне поле mark, яке не може містити порожніх значень.

Наступний приклад, запит додає поле ID лічильник COUNTER яке буде первинним ключем PRIMARY KEY
Додавання поля типу дата DATE


16. Запит на вилучення полів/стовпців

ALTER TABLE таблиця DROP COLUMN  поле

17. Запит на зміну типу поля

ALTER TABLE таблиця alter COLUMN  [поле] тип_поля


18. Запит на оновлення даних

UPDATE таблиця  SET  поле=значення


19. Запити, які використовують статистичні функції

Функція  COUNT - підраховує кількість ненульових значень в стовпці

В прикладі створено запит, який підраховує скільки є записів по магазину Файно.

Функція  SUM - знаходить суму значень в стовпці


Інші функції

20. Запити, які використовують функції обробки тексту

В прикладі зроблена вибірка даних по двум полям, причому значення поля SHOP переведено у верхній режим

Інші функції

Функції обробки дати та часу

21. Запити, які використовують функції обробки тексту

Групи створюються за допомогою речення GROUP BY оператора SELECT. Розглянемо на прикладі.
Даним запитом ми витягнули інформацію щодо кількості магазинів по кожній мережі. Оператор SELECT наказує вивести два стовпця shop_name - назва магазину та кіл-ть магазинів - розрахункове поле, яке ми створили для відображення кількості магазинів(формула поля COUNT(shop_name)). Речення GROUP BYвказує СУБД згрупувати дані по стовпцю shop_name.

Так само, як ми фільтрували рядки в таблиці, ми можемо здійснювати фільтрацію по згрупованим даним. Для цього в SQL існує оператор HAVING. Візьмемо попередній приклад та додамо фільтрацію по групам.

Бачимо, що після того, як була порахована кількість магазинів в розрізі кожної мережі, СУБД "відсікла" ті магазини, яких менше 2. І після групування оператором HAVING ми посортувати групи по назві магазинів за спаданням.

Немає коментарів:

Дописати коментар