Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть II.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Условие отбора

В SQL используется множество условий отбора, позволяющих эффективно создавать различные типы запросов. Ниже рассматриваются gять основных условий отбора (в стандарте ANSI/ISO они называются предикатами):

  1. Сравнение. Значение одного выражения сравнивается со значением другого выражения. Используются следующие операторы (=, <>, <, <=,>, >=). Например:

  1. Проверка на принадлежность диапазону. Проверяется, попадает ли указанное значение в определенный диапазон. Используется оператор BETWEENAND.

Необходимо отметить, что проверка на принадлежность диапазону не расширяет возможности SQL поскольку ее можно выразить в виде двух сравнений.

  1. Проверка на членство в множестве. Проверяется, совпадает ли значение выражения с одним из значений заданного множества. Используется оператор IN.

С помощью проверки NOT IN можно убедиться в том, что элемент данных не является членом заданного множества. Все элементы в списке заданных значений должны иметь один и тот же тип данных, который должен быть сравним с типом данных проверяемого выражения.

  1. Проверка на соответствие шаблону. Проверяется, соответствует ли строковое значение, содержащееся в столбце, определенному шаблону. Используется оператор LIKE.

Поверка на соответствие шаблону (оператор LIKE), схематически изображенная на рис., позволяет определить, соответствует ли значение данных в столбце некоторому шаблону. Шаблон представляет собой строку, в которую может входить один или более подстановочных знаков. Эти знаки интерпретируются особым образом.

Подстановочные знаки:

  • % совпадает с любой последовательностью из нуля или более символов.

  • _(символ подчеркивания) совпадает с любым отдельным символом.

При проверке строк на соответствие шаблону может оказаться, что подстановочные знаки входят в строку символов в качестве литералов. Например, нельзя проверить, содержится ли знак процента в строке, просто включив его в шаблон, поскольку СУБД будет считать этот знак подстановочным. Как правило, это не вызывает серьезных проблем, поскольку подстановочные знаки довольно редко встречаются в именах, названиях товаров и других текстовых данных, которые обычно хранятся в базе данных.

В стандарте ANSI/ISO определен способ проверки наличия в строке литералов, использующихся в качестве подстановочных знаков. Для этого применяются символы пропуска. Когда в шаблоне встречается такой символ, то символ, следующий непосредственно за ним, считается не подстановочным знаком, а литералом (происходит пропуск символа) Непосредственно за символом пропуска может следовать либо один из двух подстановочных знаков, либо сам символ пропуска, поскольку он тоже приобретает в шаблоне особое значение.

Символ пропуска определяется в виде строки, состоящей из одного символа, и предложения ЕSСАРЕ.

  1. Проверка на равенство значению NULL. Проверяется, содержится ли в столбце значение. Используется оператор IS NULL.

В отличие от условий отбора, описанных выше, проверка на NULL не может возвратить значение NULL в качестве результата. Она всегда возвращает TRUE или FALSE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]