Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / Конспект (Архитектуры обработки данных + SQL).doc
Скачиваний:
85
Добавлен:
10.12.2013
Размер:
336.9 Кб
Скачать
        1. Составные условия поиска (and, or и not)

Простые условия поиска, описанные выше, после применения к некоторой строке возвращают значения TRUE, FALSE или NULL. С помощью правил логики эти простые условия можно объединять в более сложные, как показано ниже. Обратим внимание на то, что условия поиска, объединенные с помощью ключевых слов AND, OR и NOT, сами могут быть составными.

WHEREусловие поиска

NOT

AND

OR

Таблица истинности операции AND.

AND

TRUE

FALSE

NULL

TRUE

TRUE

FALSE

NULL

FALSE

FALSE

FALSE

FALSE

NULL

NULL

FALSE

NULL

Таблица истинности операции OR.

OR

TRUE

FALSE

NULL

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

NULL

NULL

TRUE

NULL

NULL

Таблица истинности операции NOT.

NOT

TRUE

FALSE

NULL

FALSE

TRUE

NULL

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

SELECT *

FROM ДОКУМЕНТ

WHERE (ДАТА>’1.03.2000’ AND ДАТА<’13.03.2000’)

OR (ДАТА=’18.01.2000’) AND NOT (ДАТА=’8.03.2000’)

Вывести все документы за восьмое число января, февраля, и марта.

SELECT *

FROM ДОКУМЕНТ

WHERE ДАТА=’8.01.2000’ OR ДАТА=’8.02.2000’ OR ДАТА=’8.03.2000’

        1. Проверка на принадлежность диапазону значений (between)

Другой формой условия поиска является проверка на принадлежность диапазону значений (ключевое слово BETWEEN), схематически показанная ниже. При этом проверяется, находится ли значение данных между двумя определенными значениями. В условие поиска входят три выражения. Первое выражение определяет проверяемое значение; второе и третье выражения определяют верхний и нижний пределы проверяемого диапазона. Типы данных трех выражений должны быть сравнимыми.

Синтаксическая диаграмма проверки на принадлежность диапазону (BETWEEN).

Проверяемое выр-е BETWEEN нижнее выр-е AND верхнее выр-е

NOT

Найти все документы за последний квартал 2000 года.

SELECT *

FROM ДОКУМЕНТ

WHERE ДАТА BETWEEN ’01.10.2000’ AND ’31.12.2000’

Вывести все перемещения для первых пяти номеров.

SELECT *

FROM ПЕРЕМЕЩЕНИЕ

WHERE ПОРЯДКОВ№ BETWEEN ‘1’ AND ‘5’

        1. Проверка на членство в множестве (in)

Еще одним распространенным условием поиска является проверка на членство в множестве (IN), схематически показанная ниже. В этом случае проверяется, соответствует ли значение данных какому-либо значению из заданного списка.

Синтаксическая диаграмма проверки на членство в множестве (IN)

Проверяемое выражениеIN ( константа )

NOT ,

Вывести все документы за восьмое число января, февраля, и марта. (5.2.4 - 1)

SELECT *

FROM ДОКУМЕНТ

WHERE ДАТА IN (‘8.01.2000’, ‘8.02.2000’, ‘8.03.2000’,)

Вывести все перемещения, у которых цена равна 2000, 3000, 4000.

SELECT *

FROM ПЕРЕМЕЩЕНИЕ

WHERE ЦЕНА IN (‘2000’,’3000’,’4000’)

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

Соседние файлы в папке Программирование