Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Теоретичні відомості




При заданні логічної умови у виразі WHERE можуть бути використані оператори IN, BETWEEN, LIKE, is NULL.

Оператори IN (дорівнює будь-якому зі списку) і NOT IN (не дорівнює жодному зі списку) використовуються для порівняння значення поля, що перевіряється, із заданим списком. Цей список значень вказується в дужках праворуч від оператора IN.

Побудований з використанням IN предикат (умова) вважається істинним, якщо значення поля, ім'я якого зазначено ліворуч від IN, збігається (мається на увазі точний збіг) з одним зі значень, перерахованих у списку, зазначеному в дужках праворуч від IN.

Предикат, побудований з використанням NOT IN, уважається істинним, якщо значення поля, ім'я якого зазначено ліворуч від NOT IN, не збігається з жодним зі значень, перерахованих у списку, зазначеному в дужках праворуч від NOT IN.

 

Приклад 1. Одержати з таблиці EXAM_MARKS відомості про студентів, що мають екзаменаційні оцінки тільки 4 і 5.

 

SELECT *

FROM EXAM_MARKS

WHERE MARK IN (4, 5);

 

Приклад 2. Одержати відомості про студентів, що не мають ні однієї екзаменаційної оцінки, рівної 4 і 5.

 

SELECT *

FROM EXAM_MARKS

WHERE MARK NOT IN (4, 5);

 

Оператор BETWEEN використовується для перевірки умови входження значення поля в заданий інтервал, тобто замість списку значень атрибута цей оператор задає межі його зміни.

 

Приклад 3. Запит на вивід записів про предмети, на вивчення яких приділяється кількість годин, що перебуває в межах між 30 і 40, має вигляд:

 

SELECT *

FROM SUBJECT

WHERE HOUR BETWEEN 30 AND 40;

 

Граничні значення, у цьому випадку значення 30 і 40, входять у множину значень, з якими виконується порівняння. Оператор BETWEEN може використовуватися як для числових, так і для символьних типів полів.

 

Оператор LIKE застосовується тільки до символьних полів типу CHAR або VARCHAR (див. розділ 1.5 «Типи даних SQL»).

Цей оператор переглядає строкові значення полів з метою визначення, чи входить заданий в операторі LIKE субрядок (зразок пошуку) у символьний рядок-значення поля, що перевіряється.

Для вибірки строкових значень по заданому зразку субрядка можна застосовувати шаблон шуканого зразка рядка, що використовує наступні символи:

• символ підкреслення «_», зазначений у шаблоні, визначає можливість наявності в зазначеному місці одного будь-якого символу;

• символ «*» допускає присутність у зазначеному місці рядка, що перевіряється, послідовності будь-яких символів довільної довжини.

Приклад 4. Створити запит, що вибирає з таблиці STUDENT відомості про студентів, прізвища яких починаються на букву «П».

 

SELECT *

FROM STUDENT

WHERE SURNAME LIKE 'П*';

 

Якщо буде потреба включення в зразок самих символів «_» і «*» застосовують так звані escape-символи. Якщо escape-символ передує знаку «_» і «*», то ці знаки будуть сприйматися буквально.

 

Можна задати зразок пошуку за допомогою наступного виразу:

 

LIKE '_V_П' ESCAPE 'V’.

 

У цьому виразі символ 'V’ за допомогою ключового слова ESCAPE оголошується escape-символом. Перший символ «_» у заданому шаблоні пошуку '_V_П' буде відповідати, як і раніше, будь-якому символу в рядку що перевіряється. Однак другий символ «_», що знаходиться після символу 'V, оголошеного escape-символом, уже буде інтерпретуватися буквально як звичайний символ, так само як і символ 'П' у заданому шаблоні.

Звертаємо увагу на те, що розглянуті вище оператори порівняння «=, <, >, <=, >=, <>» і оператори IN, BETWEEN і LIKE у жодному разі не можна використовувати для перевірки вмісту поля на наявність у ньому порожнього значення NULL (див. розділ 1.5 «Типи даних SQL»). Для цих цілей призначені спеціальні оператори is NULL (є порожнім) і IS NOT NULL (є не порожнім).

Завдання для самостійної роботи

 

1. Напишіть запит на вивід номерів предметів навчання з 30 до 100, що знаходяться в таблиці EXAM_MARKS.

2. Напишіть запит, що вибирає дані про всі предмети навчання, екзамени з яких здані студентами, що мають ідентифікатори 12 і 32.

3. Напишіть запит на вивід назв предметів навчання, що починаються на букву «Ф».

4. Напишіть запит, що вибирає відомості про студентів, у яких імена починаються на букви «А» або «В».

5. Напишіть запит для вибору з таблиці EXAM_MARKS записів, у яких відсутні значення оцінок (поле MARK).

6. Напишіть запит на вивід з таблиці EXAM_MARKS записів, що мають у поле MARK значення оцінок.

 

3.3. Лабораторна робота №3

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...