Фильтрация Бывают случаи, когда требуется работать со всеми строками таблицы,
например:
• Удаление всех данных таблицы для того, чтобы загрузить новые
данные из другого источника.
• Изменение всех строк таблицы после добавления нового столбца.
• Извлечение всех строк из таблицы очереди сообщений.
В подобных случаях SQLвыражениям не нужен блок
where
, поскольку
нет необходимости исключать из рассмотрения какиелибо строки.
Однако чаще всего требуется сужать фокус и работать с подмножест
вом строк таблицы. Поэтому все SQLвыражения для работы с данны
ми (кроме выражения
insert
) включают необязательный блок
where
,
где размещаются всевозможные фильтры для ограничения числа
строк, подвергаемых воздействию SQLвыражения. Кроме того, в вы
ражение
select
входит блок
having
, в который могут быть включены
условия фильтрации, относящиеся к группам данных. В этой главе
изучаются различные типы условий фильтрации, которые могут при
меняться в блоках
where
выражений
select
,
update
и
delete
.
Оценка условия Блок
where
может содержать одно или более условий, разделенных опе
раторами
and
и
or
. При использовании только оператора
and
строка бу
дет включена в результирующий набор в случае истинности (
True
) всех
условий для нее. Рассмотрим следующий блок
where
:
WHERE title = 'Teller' AND start_date < '20030101'
Исходя из этих двух условий, из рассмотрения будет исключен любой
сотрудник, не являющийся операционистом или работающий в банке
Оценка условия
73 начиная с 2003 года. В данном примере используется только два усло
вия, но если условия в блоке
where
3>2>1>