- •Выборка данных
- •Оператор select
- •Выражения sql
- •Выражение from
- •Операции left join, right join
- •Операция inner join
- •Выражение in
- •Предикаты all, distinct, distinctrow, top
- •Объявление with owneraccess option
- •Выражение where
- •Операция Like
- •Операция In
- •Операция Between...And
- •Подзапрос
- •Выражение order by
- •Выражение group by
- •Выражение having
- •Оператор union
- •Оператор transform
- •Выражение procedure
- •Объявление parameters
- •Изменение данных
- •Оператор update
- •Оператор insert into
- •Оператор delete
- •Изменение структуры
- •Оператор select...Into
- •Оператор create table3
- •Выражение constraint4
- •Оператор alter table5
- •Оператор create index6
- •Оператор drop7
- •Агрегатные функции
- •Функция Count
- •Функция Avg
- •Функция Sum
- •Функции Var и VarP
- •Функции StDev и StDevP
- •Функции Min, Max
- •Функции First, Last
Операция Like
Сравнивает строковое выражение с образцом. Формат
Expression Like "pattern"
Часть |
Описание |
Expression |
SQL-выражение, используемое в WHERE |
pattern |
Строка или литерал, с которым производится сравнение. |
Операция Like производит сравнение выражения с шаблоном и возвращает значение True или False. В параметрическом запросе pattern можно запрашивать как параметр. Шаблон может быть задан полностью (Like "Smith") или содержать символы подстановки(Like "Sm*"). Например, чтобы найти все значения поля, начинающиеся на C, нужно указать Like "C*", а Like "P[A-F]###" позволит найти значения, начинающиеся с P, закоторой следует буква от A до F и три цифры.
В следующей таблице приведены примеры использования специальных символов в шаблонах:
Спрособ сравнения |
Шаблон |
Совпадение (True) |
Не совпадение (False) |
Несколько символов |
a*a |
aa, aBa, aBBBa |
aBC |
|
*ab* |
abc, AABB, Xab |
aZb, bac |
Специальный символ |
a[*]a |
a*a |
aaa |
Несколько символов |
ab* |
abcdefg, abc |
cab, aab |
Один символ |
a?a |
aaa, a3a, aBa |
aBBBa |
Одна цифра |
a#a |
a0a, a1a, a2a |
aaa, a10a |
Интервал символов |
[a–z] |
f, p, j |
2, & |
Вне интервала |
[!a–z] |
9, &, % |
b, a |
Не цифра |
[!0–9] |
A, a, &, ~ |
0, 1, 9 |
Комбинация |
a[!b–m]# |
An9, az0, a99 |
abc, aj0 |
В Microsoft Access Like можно использовать в выражении запроса и в «вычисляемом» управляюшем элементе. В параметрическом запросе в Like можно использовать параметр.В конструкторе запросов вводится в ячейку Criteria, например, Like "C*".
Пусть таблица Employees содержит поле LastName. Создадим к ней новый запрос, «перетащим» поле LastName в ячейку конструктора, в ячейку Criteria введем
Like [Enter first few letters of name:]&"*"
Если запустить запрос на выполнение, появится окно диалога "Enter first few letters of name:". Если пользователь введет Sm, то запрос будет искать шаблон Sm*.
Операцию можно использовать в свойстве ValidationRule – Like "P[A-F]###" ограничит ввод величинами, соответствующими критерию.
В следующем примере выводится список служащих с именами, начинающимися на буквы от A до D:
SELECT * FROM Employees WHERE LastName Like '[A-D]*';
Операция In
Определяет, совпадает ли значение выражения с одним из перечисленных в списке. Формат
expr [Not] In(value1, value2, . . .)
Часть |
Описание |
expr |
Выражение, указывающее поле, сожержимое которого проверяется |
value1, value2 |
Выражение или список выражений, с которыми сравнивается expr |
Если значение найдено в списке, In возвращает True, иначе False. Оператор Not меняет результат на противоположный (нет в списке). В Microsoft Access In можно использовать в выражении запроса и в «вычисляемом» управляюшем элементе.
Заказы, доставленные в указанные города:
SELECT * FROM Orders WHERE ShipRegion In ('Avon','Glos','Som')
Пусть таблица Orders содержит поля ShipCountry и OrderID и нужно создать запрос на заказы для United States, Canada и United Kingdom. Создадим к ней новый запрос, «перетащим» поля ShipCountry и OrderID в ячейки конструктора, в ячейку Criteria для ShipCountry введем In('USA', 'Canada', 'UK'). То же результат получится, если ввести "USA" Or "Canada" Or "UK". При большом списке можно комбинировать In и Or.
В «вычисляемом» управляюшем элементе можно использовать In в функции IIf. Например, =IIf([ShipRegion] In ('WA','OR','ID'), "Local", "Nonlocal") воозвращает Local для WA, OR и ID, и Nonlocal для других значений.
Следующий пример выбирает из таблицы Orders базы Northwind.mdb все заказы для Lancashire и Essex:
SELECT * FROM Orders WHERE ShipCity In ('Colchester','Hedge End','London');
