Составные условия поиска

  • Часть 1
  • | 2

Рассмотренные в предыдущих пунктах условия поиска являются простыми.

С помощью правил логики эти простые условия можно объединять в более

сложные.

СУБД Firebirdпредоставляет три вида логических операций [18]: - NOT задает отрицание условия поиска, к которому применяется, и имеет наивысший приоритет. Используется следующий синтаксис:

NOT <условие_поиска>;

-   AND создает сложный предикат, объединяя два или более условий поиска,каждое из которых должно быть истинным, чтобы был истинным и весь предикат. Данная операция является следующей по приоритету послеNOT. Используется следующий синтаксис:

<условие_поиска1> AND <условие_поиска2> …;

-   OR создает сложный предикат, объединяя два или более условий поиска, из которых хотя бы одно должно быть истинным, чтобы был истинным и весь предикат. Является последней по приоритету из трех логических операций и имеет следующий синтаксис:

<условие_поиска1> OR <условие_поиска2> …. Вычисления логических значений в составных условиях поиска задаются таблицей истинности (см. табл. 3.1).

Таблица 3.1. Логические результаты условий поиска AND и OR

У1 (условие_поиска1)

У2 (условие_поиска2)

У1 AND У2

У1 OR У2

TRUE

TRUE

TRUE

TRUE

TRUE (FALSE)

FALSE (TRUE)

FALSE

TRUE

TRUE (NULL)

NULL (TRUE)

NULL

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE (NULL)

NULL (FALSE)

FALSE

NULL

NULL

NULL

NULL

NULL

Следует обратить внимание на то, что условия поиска, объединенные с помощью ключевых слов AND, OR и NOT, сами могут быть составными.

Допустим,   что   необходимо   найти   фамилии   всех   абонентов,   которые проживают на улицах с кодами от 3 до 6 или фамилии которых содержат букву 'Л'. Для вывода требуемой информации нужно выполнить следующий запрос: SELECT Fio FROM Abonent

предыдущаяследующая