Как включить или исключить строки (визуальные инструменты для баз данных)
Чтобы ограничить число строк, возвращаемых запросом SELECT, создают условия поиска или критерии фильтрации. В языке SQL условия поиска появляются в предложении инструкций WHERE или, если запрос статистический, в предложении HAVING.
![]() |
---|
Можно также использовать условия поиска, чтобы задать, какие строки будут изменены запросами обновления, вставки результатов и значений, удаления или создания таблиц. |
При выполнении запроса компонент Database Engine проверяет и применяет условия поиска к каждой строке таблиц, где осуществляется поиск. Если строка соответствует условиям, она включается в запрос. Например, условие поиска всех сотрудников в определенном регионе может быть таким:
region = 'UK'
Чтобы задать критерий включения строки в результат, можно применять несколько условий поиска. Например, следующий критерий состоит из двух условий поиска. Запрос включает строку в результирующий набор только в том случае, если она удовлетворяет обоим условиям.
region = 'UK' AND product_line = 'Housewares'
Эти условия можно комбинировать с помощью ключевых слов AND и OR. В предыдущем примере использовался AND. В следующем критерии, напротив, используется OR. Результирующий набор будет включать в себя все строки, удовлетворяющие любому из условий поиска или обоим:
region = 'UK' OR product_line = 'Housewares'
Можно даже комбинировать условия поиска по одному столбцу. Например, следующий критерий сочетает два условия поиска по столбцу region:
region = 'UK' OR region = 'US'
Дополнительные сведения о сочетании условий поиска см. в следующих подразделах:
Как указать несколько условий поиска для одного столбца (визуальные инструменты для баз данных)
Как указать несколько условий поиска для нескольких столбцов (визуальные инструменты для баз данных)
Как объединить условия, если приоритет имеет оператор AND (визуальные инструменты для баз данных)
Как соединить условия, с приоритетом оператора 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)