Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с Oracle / 2 - Простые запросы Oracle.docx
Скачиваний:
6
Добавлен:
28.06.2021
Размер:
758.03 Кб
Скачать
  1. Фильтрация строк (where)

Для отбора необходимых строк используется секция WHERE. Запрос без указания WHERE возвращает список результатов, содержащий все строки таблицы или представления. Когда есть WHERE, то для проверки каждой строки данных на соответствие указанному правилу, используются правила булевой алгебры. В результатах запроса отображаются строки, для которых это правило возвращает значение «истина». Проверки условий могут возвращать значения «истина», «ложь» или «неизвестно» (следствие использования значений NULL).

  1. Операторы сравнения

Используются в проверках для сравнения двух значений и возвращают в результате «истину» или «ложь». Значения могут быть константами, значениями полей базы данных или их комбинацией. Операторы сравнения, которые можно использовать в проверках после WHERE, показаны в таблице.

Оператор

Описание

=

Равно

<

Меньше

<=

Меньше или равно

>

Больше

>=

Больше или равно

!=

Не равно

<>

Не равно (стандарт ANSI)

  1. Объединительные операторы

При использовании нескольких условий их необходимо логически объединить в запросе. Для этого существуют объединительные операторы:

  • логическое «и» (AND). Проверка условий после WHERE возвращает значение «истина», если все условия, соединенные оператором AND, истинны;

  • логическое «или» (OR). Проверка условий после WHERE возвращает значение «истина», если какое-то из условий, объединенных оператором OR, истинно.

Получим список книг из каталога «Программирование», цена на которые меньше 200 руб.

Если операторы AND и OR встречаются в одном запросе, следует использовать скобки для контроля над значением проверки условий после where. Условия в скобках всегда возвращают значение первыми.

  1. Логические операторы

При составлении сравнений используют ключевые слова вместо символов. К каждому оператору может быть добавлено ключевое слово NOT, которое изменит смысл выражения на противоположный.

    1. Оператор IS NULL

Используется для того, чтобы определить, пусто данное значение или нет. Пустые значения в базе данных не равны ничему, в том числе другим пустым значениям. Поэтому условие «= NULL» никогда не бывает истинным – ничто и никогда не может быть равно пустому значению.

Следующий запрос выдает список клиентов, у которых отсутствуют контактные телефоны:

    1. Оператор BETWEEN

Используется для того, чтобы определить, попадает ли данное значение в заданный интервал. Интервал задается минимальным и максимальным значениями и рассматривается включительно (минимальное и максимальное значения включаются в него).

Следующий запрос выдает список заказов, сделанных в марте 2009 года:

    1. Оператор LIKE

Используется для сравнения значения строки с маской, возвращая логическое «истина», если значение строки подходит под маску, и «ложь», если не подходит. В маске могут быть использованы два специальных символа:

  • подчеркивание (_) – может использоваться как маска позиции (этот символ совпадает с любым символом, находящимся в заданной позиции);

  • процент (%) – может использоваться как маска, независимая от позиции (символ совпадает с любым количеством любых символов).

В MS Access есть похожая функция, но там используются знак вопроса (?) как маска позиции и звездочка (*) как маска, независимая от позиции (соглашения, принятые в DOS и Visual Basic). Некоторые примеры масок приведены в таблице.

Маска

Интерпретация

%уже

Совпадает строка, заканчивающаяся словом «уже»

уже%

Совпадает строка, начинающаяся со слова «уже»

%уже%

Совпадает строка, содержащая слово «уже» (в начале, в конце или в середине)

у_е

Совпадает строка, имеющая ровно три символа, причем первый из них должен быть «у», а последний «е»

%у_е%

Совпадает любая строка, содержащая символ «у», за которым следует любой символ, за которым следует «е», в начале, в конце или в середине строки

Следующий запрос выдает список книг, названия которых содержат союз «и»:

Данные в реляционных базах данных всегда чувствительны к регистру символов. Строчная буква данных не совпадет с заглавной буквой в маске, и наоборот. Чтобы изменить регистр символов и упростить отбор по маске, можно использовать функции UPPER и LOWER.