Таблица 2.1. операторы, используемые в предложении WHERE
Оператор | Функция |
---|---|
< | Меньше |
<= | Меньше или равно |
> | Больше |
>= | Больше или равно |
= | Равно |
<> | Не равно |
BETWEEN | Внутри диапазона значений |
LIKE | Соответствует образцу |
IN | Входит в список значений |
Оператор BETWEEN
Этот оператор возвращает все записи, значения которых лежат внутри определенных вами границ. Например, для того чтобы отобрать все заказы, оформленные за период с 4 января по 5 июня 2001 года, необходимо написать приведенную ниже инструкцию SQL.
>SELECT
>FROM tblOrder
>WHERE OrderDate BETWEEN '1/4/2001' AND '6/5/2001'
В результате выполнения этого запроса будут извлечены записи, показанные на рис. 2.4.
Обратите внимание, что значения даты в SQL Server обозначаются символом одиночной кавычки. Разработчикам, которые имеют опыт работы с датами в Microsoft Access и привыкли использовать для этого символ #, придется учесть это новшество и заменить символы # одиночными кавычками.
РИС. 2.4. Результаты выполнения запроса для таблицы tblOrder с использованиям предложения SELECT и оператора BETWEEN
Границы оператора BETWEEN являются включающими; это значит, что если вы запрашиваете информацию обо всех заказах, оформленных за период с 4 января по 5 июня 2001 года, то в результирующий набор включаются заказы, которые были оформлены как 4 января, так и 5 июня.
Оператор LIKE и символы шаблона
С помощью оператора LIKE отбираются записи, соответствующие заданному шаблону. Этот шаблон обычно состоит из так называемых подстановочных символов (wildcard characters) * или с которыми вы, возможно, уже знакомы по работе с файловыми системами MS DOS или Windows.
Символ процента (%) означает частичное соответствие. Например, чтобы отобрать в таблице tblCustomer все записи, в которых фамилия начинается с буквы J, можно воспользоваться приведенным ниже запросом.
>SELECT ID, FirstName, LastName, Address, City, State
>FROM tblCustomer
>WHERE [LastName] LIKE 'J%'
В результате выполнения этого запроса будут извлечены записи для тех клиентов, фамилии которых начинаются с буквы J.
При создании шаблонов можно также использовать символ подчеркивания. Он занимает место только одного символа в шаблоне. Например, чтобы отобрать всех клиентов, у которых почтовый индекс состоит из пяти цифр и начинается с числа 80, воспользуйтесь следующей командой SQL:
>SELECT ID, FirstName, LastName, Address, PostalCode
>FROM tblCustomer
>WHERE PostalCode LIKE '80___'
В результате выполнения этого запроса будут извлечены записи для тех клиентов, почтовый индекс которых начинается с числа 80.
Оператор LIKE можно использовать также для отбора записей на основе вхождения в диапазон определенных алфавитных или числовых значений. Например, чтобы возвратить список клиентов, фамилии которых начинаются с букв в диапазоне от А до М, используйте приведенную ниже команду SQL.
>SELECT ID, FirstName, LastName
>FROM tblCustomer
>WHERE LastName LIKE '[A-M]%'
В результате выполнения этого запроса будут извлечены пять записей для тех клиентов, фамилии которых начинаются с букв в диапазоне от А до М.