В выражениях могут использоваться следующие операторы сравнения: = (равно), о (не равно), < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), которые могут предваряться оператором NOT.
Предикат может принимать одно из трех значений: TRUE, FALSE, UNKNOWN. В результатную таблицу переносятся те строки, для которых значение предиката равно TRUE.
Кроме стандартных операторов сравнения в SQL можно использовать специальные операторы предикатов:
· <интервальный предикат >;
· <предикат Ш>;
· < предикат проверки на неопределенное значение >;
· <предикат подобия>.
При использовании интервального предиката диапазон значений можно задавать в виде
WHERE [NОТ]<выражение> BETWEEN <нижнее выражение> AND <верхнее выражение>.
Например, если требуется выдать сведения о поставке продукции за последнюю декаду ноября 2002 г., то запрос можно задать следующим образом:
SELECT * FROM post WHERE postdate BETWEEN#11/20/02# AND #11/30/02#;
Это же условие отбора можно задать и без использования интервального предиката:
postdate>=#11/20/02# AND postdate<= #11/30/02#;
При использовании предиката IN предложение WHERE будет иметь следующий вид:
WHERE [NOT]< выражение > [NOT] IN (<список значений>/<лод-запрос>).
В приведенном ниже примере требуется вывести данные о поставках поставщиков PI, P2, РЗ.
SELECT * FROM post WHERE kod_post IN ("p1", "p2", "p3")
Без использования IN запрос имел бы следующий вид:
SELECT * FROM post WHERE kod_post ="p1" OR kod_post ="p2" OR kod_post = "p3";
Пример с использованием подзапроса будет рассмотрен позже, при демонстрации возможностей обработки нескольких таблиц.
предыдущаяследующая