- •Організація баз даних та знань. Розділ 2. Лекція 2.1
- •1 Вибірка всіх стовпчиків всіх рядків
- •2 Вибірка конкретних стовпчиків і всіх рядків таблиці.
- •3 Використання ключового слова distinct.
- •4 Робота з обраховуваним поняттям .
- •5 Вибірка рядків
- •6. Пошук за шаблоном
- •7 Сортування результатів вибірки
- •8 Вибірка з кількох таблиць
6. Пошук за шаблоном
При виконані запитів в яких необхідно знайти значення яке може знаходитися в будь якому місті стовпчика атрибуту , виконуються запити з пошуком за шаблоном
address LIRE ‘H%’ - перший символ шуканого значення обов’язково повинен бути Н , а всі інші не перевіряються;
address LIKE ‘H_ _ _’ - шукане значення повинне мати всього 4 символи , причому, перший з них – Н
address LIKE ‘%e’ - довільна послідовність символів , що закінчується на е.
address LIKE ‘ % London %’ - довільна послідовність символів , в яких є під-рядок London.
address NOT LIKE ‘H%’ -довільне значення адреси, що не починається з Н.
У випадку , якщо в шуканій послідовності зустрічається знак відсотку
LIKE ’15 #%’ ESCAPE ‘#’
Можливий пошук рядків з пустою коміркою
SELECT …
FROM …
WHERE … is NULL ;
7 Сортування результатів вибірки
В мові SQL можливі сортування за значенням або за спаданням.
Для того щоб результати вибірки були впорядкованими , використовується конструкція ORDER BY
SELECT l Name , Salary
From Staff
ORDER BY salary DESC;
В результаті виконання запиту отримаємо таблицю в якій рядки будуть впорядковані в порядку спадання значення атрибуту salary (зарплата)
Приклад сортування за значенням
SELECT L Name , salary, position
FROM Staff
ORDER BY position;
Рядки таблиці будуть згруповані наступним чином. Кортежі з однаковими значеннями вказаного атрибуту утворюють групки, причому групки розглядаються в алфавітному порядку значення вказаного атрибуту.
Запит можна ускладнити
SELECT l Name , salary, position
FROM Staff
ORDER BY position, salary DESC;
8 Вибірка з кількох таблиць
В усіх розглянутих попередніх прикладах вибірка проводилася з однієї таблиці , але в реально існуючих БД дуже часто доводиться обирати дані з кількох таблиць на підставі рівності якихось значень.
Для цього необхідно використати механізм поєднання таблиць Для виконання об’єднання необхідно в конструкції FROM вказати імена двох або більше таблиць, розділивши їх колонки, а після цього до запиту включити контр – ю WHERE з визначенням стовпчиків за якими поєднується таблиці.
SELECT l Name , client Name
FROM Staff, client
Where Staff. Staff № =client. staff №;
Сортування даних , що обрані з кількох таблиць аналогічні до сортування даних , що обрані з однієї таблиці.
Зміна вмісту бази даних
Зміни вміст бази даних можна за допомогою додавання до таблиць нових даних модифікації вже існуючих даних та видалення з таблиці рядків даних.
Додавання нових даних
INSERT INTO Table Name [Column fist]
VALUES (Data Value Fist )
Table Name – ім’я таблиці, в яку вставляються нові данні
Column Fist- перелік колонок, в які вставляються нові дані.
Після ключового слова VALUES у списку Data Values Fist вказуються власне самі значення, що повинні додаватися
У випадку коли необхідно встановити значення до всіх колонок , їх перелік вказувати необов’язково
INSERT INTO група
VALUES (‘ Сидоров ’,’ Петров ’,’ Васільовіч ’,1988’,ko’);
Необхідно пам’ятати , що символьні значення необхідно брати в одинарні лапки
Модифікація даних у базі
Для цього виконується оператор UPDАTE .Він змінює вже існуючі в таблиці данні.
UPDATE Table Name
SET client Name = Data Value…
[WHERE Search Condition]
Table Name – ім‘я таблиці , яка буде модифікуватися.
Після ключового слова SET вказується набір полів і набір нових значень, що їм треба привласнити.
UPDATE Staff
SET salary = salary * 1.03;
UPDATE Staff
SET Salary = * 1.05
WHERE position = “Memagor” ;
Видалення даних з бази
Зрозуміло ,що видаляються дані з БД за допомогою оператора DELETE
DELETE FROM Table Name
[WHERE search Condition ]
За допомогою цього оператору можна видалити з таблиці всі або лише вказані рядки.
Використовувати його необхідно з розумінням можливості відкату відсутня.
DELETE FROM Staff
WHERE Staff No = SL 14;
DELETE FROM Staff
Контрольні питання
Ким , коли і для чого була запропонована реляційна модель даних?
Якими особливостями володіє мова SQL?
Які основні вимоги до запису операторів?
Які оператори забезпечують операції маніпулювання даними?
Який форм. синтаксис має оператор вибірки SELECT?
Як за допомогою SELECT можна вибрати дані з таблиці або таблиць?
Який оператор слугує для вставки до таблиці нових даних і як він працює?
Оператор оновлення або модифікації
Оператор виведення даних