Слайд 2
Оператор LIKE
Оператор LIKE застосовний тільки до полів типу
CHAR або VARCHAR, з якими він використовується, щоб знаходити
підрядки.
Є два типи групових символів використовуваних з LIKE:
- символ підкреслення ( _ ) заміщає будь-який одиночний символ. Наприклад, 'b_t' буде відповідати словам 'bat' або 'bit', але не буде відповідати 'brat'.
- знак відсотка (%) заміщає послідовність будь-якого числа символів (включаючи символи нуля). Наприклад '%p%t' буде відповідати словам 'put', 'posit', або 'opt', але не 'spite'.
Слайд 3
Приклад № 11 Виведемо інформацію про службовців, що
проживають у містах, що починаються на букву М.
SELECT *
FROM S
WHERE City LIKE "М%";
Слайд 4
Потрібно вивести інформацію про службовців, в іменах яких
зустрічається бувка «р».
SELECT *
FROM S
WHERE Sname LIKE
'Р_%' OR Sname LIKE '_%р%';
Слайд 5
Якщо необхідно визначити записи, що містить символ підкреслення
або відсотка, то в LIKE предикаті, можна визначити будь-який
одиночний символ як символ ESC
Наприклад, ми могли б знайти Sname стовпець, де є присутнім підкреслення, у такий спосіб:
SELECT *
FROM S
WHERE Sname LIKE '%/_%'ESCAPE'/';
Слайд 6
Часто, в таблиці можуть бути зписи, що в
деяких ячейках будуть «порожні», які не мають ніяких значень
для деяких полів, наприклад тому що інформація не завершена, або тому що це поле просто не заповнювалося.
SQL враховує такий варіант, дозволяючи уводити значення NULL (ПОРОЖНІЙ) у поле, замість значення. Коли значення поля рівно NULL, це означає, що програма бази даних спеціально промаркувала це поле
Слайд 7
Оскільки NULL вказує на відсутність значення, тому не
можна знати який буде результат будь-якого порівняння з використанням
NULL.
Коли NULL порівнюється з будь-яким значенням, навіть із іншим таким же NULL, результат буде ні вірним ні невірним, він - невідомий.
Отже, вирази типу 'city=NULL' або 'city IN (NULL)' будуть невідомі, незалежно від значення city.
Слайд 8
Приклад № 12 Вивести інформацію про службовців, для
яких не відомий вік
SELECT *
FROM S
WHERE Age
IS NULL;
Слайд 10
Наприклад, можна побажати, представити комісійні службовця у відсотковому
відношенні, а не як десяткові числа:
SELECT Sname, City, Comm*100
FROM S;
Слайд 11
Наприклад, вивести інформацію про службовців з поясненнями.
SELECT "Службовець
", Sname, " проживає в місті ", City
FROM
S;
Слайд 12
ORDER BY
ORDER BY - впорядковує вивід запиту згідно
зі значеннями в тій або іншій кількості обраних стовпців.
Декілька стовпців впорядковуються один усередині іншого, і можна визначати зростання (ASC) або убування (DESC) для кожного стовпця. За замовчуванням установлене - зростання.
Слайд 13
Виведемо інформацію про службовців, упорядкувавши її по зростанню
комісійних.
SELECT *
FROM S
ORDER BY Comm ASC;
Слайд 14
Упорядковувати таблицю наприклад за допомогою поля Comm, усередині
впорядкування поля Age
SELECT *
FROM S
ORDER BY Age
ASC, Comm ASC;
Слайд 15
Вивести інформацію про службовців з міста Київ у
порядку убування віку:
SELECT *
SELECT *
FROM S FROM S
WHERE City=“Київ” WHERE City=“Київ”
ORDER BY Age DESC; ORDER BY 4 DESC;
Слайд 16
Запити на декількох таблицях
Використовуючи об'єднання, ми безпосередньо
зв'язуємо інформацію з будь-яким номером таблиці, і в такий
спосіб здатні створювати зв'язки між порівняльними фрагментами даних.
При об'єднанні, таблиці представлені списком у пропозиції FROM запиту, відділяються комами. Предикат запиту може посилатися до будь-якого стовпця будь-якої зв'язаної таблиці й, отже, може використовуватися для зв'язку між ними. Звичайно, предикат порівнює значення в стовпцях різних таблиць, щоб визначити, чи задовольняє WHERE установленій умові.
Слайд 17
Повне ім'я стовпця таблиці фактично складається з імені
таблиці, супроводжуваного крапкою й потім іменем стовпця. Є кілька
прикладів імен:
S.Snum
S.City
Слайд 18
Припустимо що потрібно поставити у відповідність службовцеві клієнтів
у місті, у якому вони живуть, тобто побачити всі
комбінації службовців і клієнтів для цього міста.
SELECT S.City, S.SName, C.CName
FROM S, C
WHERE S.City=C.City;
Слайд 19
Таблиця О (Операції)
Onum - номер операції (первинний ключ);
Odate
- дата здійснення операції;
Cnum - номер клієнта, що брало
участь в операції (зовнішній ключ);
Summa - сума, на яку була укладена операція.
Слайд 20
Розглянемо запит на об'єднання трьох таблиць: вивести імена
службовців, клієнтів і суми операцій, які були здійснені.
Слайд 21
SELECT S.Sname, C.Cname, Summa
FROM S,C,O
WHERE S.Snum=C.Snum AND
C. Cnum=O.Cnum;