Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Чтобы ограничить количество строк SELECT , возвращаемых запросом, создайте условия поиска или критерии фильтрации. В SQL условия поиска отображаются в WHERE предложении инструкции или при создании агрегатного запроса в предложении HAVING .
Замечание
Можно также использовать условия поиска, чтобы указать, какие строки затронуты обновлением, вставкой результатов, вставкой значений, удалением или запросом на создание таблицы.
При выполнении запроса ядро СУБД проверяет и применяет условие поиска к каждой строке в таблицах, которые выполняется поиск. Если строка соответствует условию, она включена в запрос. Например, условие поиска, которое будет находить всех сотрудников в определенном регионе, может быть следующим:
region = 'UK'
Чтобы установить критерии для включения строки в результат, можно использовать несколько условий поиска. Например, следующий критерий поиска состоит из двух условий поиска. Запрос содержит строку в результирующем наборе, только если эта строка удовлетворяет обоим условиям.
region = 'UK' AND product_line = 'Housewares'
Эти условия можно сочетать с AND или OR. В предыдущем примере используется AND. В отличие от этого, используется ORследующий критерий. Результирующий набор содержит любую строку, которая удовлетворяет условиям поиска:
region = 'UK' OR product_line = 'Housewares'
Можно даже объединить условия поиска в одном столбце. Например, следующий критерий объединяет два условия в столбце региона:
region = 'UK' OR region = 'US'
Дополнительные сведения об объединении условий поиска см. в следующих статьях:
- Соглашения об объединении условий поиска на панели условий (визуальные инструменты базы данных)
- Укажите несколько условий поиска для одного столбца (визуальные инструменты базы данных)
- Укажите несколько условий поиска для нескольких столбцов (визуальные инструменты базы данных)
- Объединение условий, когда И имеет приоритет (визуальные инструменты для баз данных)
- Объединение условий, когда OR имеет приоритет (визуальные инструменты для баз данных)
Примеры
Ниже приведены некоторые примеры запросов с помощью различных операторов и условий строк:
Буквальный
Одно текстовое, числовое, дата или логическое значение. В следующем примере используется литерал для поиска всех строк сотрудников в Соединенном Королевстве:
WHERE region = 'UK'Ссылка на столбец
Сравнивает значения в одном столбце со значениями в другом. В следующем примере выполняется поиск
productsтаблицы для всех строк, в которых стоимость производства ниже стоимости доставки:WHERE prod_cost < ship_costФункция
Ссылка на функцию, которую серверная часть базы данных может разрешить для вычисления значения для поиска. Функция может быть функцией, определенной сервером базы данных или определяемой пользователем функцией, которая возвращает скалярное значение. В следующем примере выполняется поиск заказов, размещенных сегодня (функция GETDATE( ) возвращает текущую дату:
WHERE order_date = GETDATE()NULLВ следующем примере выполняетсяauthorsпоиск таблицы для всех авторов, у которых есть имя в файле:WHERE au_fname IS NOT NULLВычисление
Результат вычисления, который может включать литералы, ссылки на столбцы или другие выражения. В следующем примере выполняется поиск
productsтаблицы, чтобы найти все строки, в которых розничная цена превышает более чем в два раза производственные затраты.WHERE sales_price > (prod_cost * 2)