Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД-Лекція 6.doc
Скачиваний:
16
Добавлен:
19.04.2015
Размер:
72.7 Кб
Скачать

6. Пошук за шаблоном

При виконані запитів в яких необхідно знайти значення яке може знаходитися в будь якому місті стовпчика атрибуту , виконуються запити з пошуком за шаблоном

address LIREH%’ - перший символ шуканого значення обов’язково повинен бути Н , а всі інші не перевіряються;

address LIKEH_ _ _’ - шукане значення повинне мати всього 4 символи , причому, перший з них – Н

address LIKE ‘%e’ - довільна послідовність символів , що закінчується на е.

address LIKE ‘ % London %’ - довільна послідовність символів , в яких є під-рядок London.

address NOT LIKEH%’ -довільне значення адреси, що не починається з Н.

У випадку , якщо в шуканій послідовності зустрічається знак відсотку

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

Контрольні питання

  1. Ким , коли і для чого була запропонована реляційна модель даних?

  2. Якими особливостями володіє мова SQL?

  3. Які основні вимоги до запису операторів?

  4. Які оператори забезпечують операції маніпулювання даними?

  5. Який форм. синтаксис має оператор вибірки SELECT?

  6. Як за допомогою SELECT можна вибрати дані з таблиці або таблиць?

  7. Який оператор слугує для вставки до таблиці нових даних і як він працює?

  8. Оператор оновлення або модифікації

  9. Оператор виведення даних

8