При формировании запросов очень часто используются специальные логические операторы, синтаксис которых записывают следующим образом:
1. Выражение {= | < > | ! = | > | >= | ! >|, = | !<} ALL подзапрос.
Здесь скалярное выражение вычисляется и сравнивается с каждым значением, возвращаемым подзапросом. Если сравнение дает истину для всех возвращаемых подзапросом значений, то этот оператор возвращает истину.
2. Если вместо ALL записать SOME или ANY, то результатом будет истина, если хотя в одной строке будет выполняться заданное сравнение.
3. Выражение
[NOT] BETWEEN А «Выражение» AND В «Выражение»
возвращает истину, когда значение выражения лежит в диапазоне значений А выражения и В Выражения (или не лежит).
4. Оператор EXISTS (подзапрос) возвращает значение истина, если подзапрос возвращает хотя бы одну строку.
5. Выражение [NOT] IN (подзапрос \ выражение [,…n]) возвращает значение истина, если значение левого выражения совпадает с одним из значений подзапроса или списка значений правых выражений (или не совпадает).
6. Выражение [NOT] LIKE шаблон [ESCAPE знак] дает истину, если значение выражения соответствует или не соответствует шаблону, в котором “%” означает любое количество произвольных символов, “_” – один произвольный символ, “[символы]” – один из указанных в скобках, “[^ символы]” – все символы, кроме указанных. Знак после слова ESCAPE позволяет указать, что следующий за ним знак шаблона не является управляющим знаком шаблона, т.е. знаком “%”, “_” и т.д., а представляет обычный знак строки.