Поделиться через


Включение или исключение строк (визуальные инструменты для баз данных)

Область применения: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'

Дополнительные сведения об объединении условий поиска см. в следующих статьях:

Примеры

Ниже приведены некоторые примеры запросов с помощью различных операторов и условий строк:

  • Буквальный

    Одно текстовое, числовое, дата или логическое значение. В следующем примере используется литерал для поиска всех строк сотрудников в Соединенном Королевстве:

    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)