В синтаксисе фразы WHERE ранее показано, что для отбора нужных строк таблицы можно использовать операторы сравнения = (равно), <> (не равно), < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), которые могут предваряться оператором NOT, создавая, например, отношения "не меньше" и "не больше".
Так, для получения перечня продуктов, практически не содержащих углеводов, можно сформировать запрос
SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C FROM ПродуктыWHERE Углев = 0;
Возможность использования нескольких условий, соединенных логическими операторами AND, OR, AND NOT и OR NOT, позволяет осуществить более детальный отбор строк. Так, для получения перечня продуктов, практически не содержащих углеводов и натрия, можно сформировать запрос:
SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C FROM ПродуктыWHERE Углев = 0 AND Na = 0;
С помощью BETWEEN ... AND ... (находится в интервале от ... до ...) можно отобрать строки, в которых значение какого-либо столбца находятся в заданном диапазоне.
Например, выдать перечень продуктов, в которых значение содержания белка находится в диапазоне от 10 до 50:
Результат:
SELECT Продукт, БелкиFROM ПродуктыWHERE Белки BETWEEN 10 AND 50;
Продукт
Белки
Майонез
31.
Сметана
26.
Молоко
28.
Морковь
13.
Лук
17.
Можно задать и NOT BETWEEN (не принадлежит диапазону между), например:
Результат:
SELECT Продукт, Белки, ЖирыFROM Продукты WHERE Белки NOT BETWEEN 10 AND 50
Продукт
Белки
Жиры
Говядина
189.
124.
Масло
60.
825.
Условие
WHERE Дата_заказа BETWEEN #02/03/2012# AND #15/12/2012#
отобразит записи, для которых значение поля Дата_заказа находится в интервале от 02/03/2012 до 15/12/2012.
Выдать сведения о блюдах на основе яиц, крупы и овощей
SELECT *FROM БлюдаWHERE Основа IN (‘Яйца’, ‘Крупа’, ‘Овощи’);
Результат:
БЛ
Блюдо
В
Основа
Выход
Труд
Салат летний
З
Овощи
200.
Салат витаминный
З
Овощи
200.
Салат помидорный
Г
Яйца
180.
Морковь с рисом
Г
Овощи
260.
Омлет с луком
Г
Яйца
200.
Каша рисовая
Г
Крупа
210.
Пудинг рисовый
Г
Крупа
160.
Помидоры с луком
Г
Овощи
260.
Рассмотренная форма IN является в действительности просто краткой записью последовательности отдельных сравнений, соединенных операторами OR. Предыдущее предложение эквивалентно такому:
SELECT *FROM БлюдаWHERE Основа=Яйца OR Основа=Крупа OR Основа=Овощи;
Можно задать и NOT IN (не принадлежит), а также возможность использования IN (NOT IN) с подзапросом (см. главу 3).