Предложение SQL WHERE для фильтрации данных

В этом руководстве мы обсудим, что такое предложение SQL WHERE и как его использовать. Мы также поговорим о множественных условиях с помощью операторов  И и ИЛИ .

Предложение SQL WHERE предназначено для фильтрации данных или записей. Он используется для создания условия для извлечения только необходимых записей. 

Помимо использования предложения WHERE в операторе SELECT , мы также можем использовать его с операторами UPDATE , DELETE и другими операторами SQL . Однако в этом руководстве мы будем использовать его только в операторе SELECT .

Оглавление

Простой выбор с использованием предложения SQL WHERE

Без использования предложения WHERE в операторе SELECT будут возвращены все строки из определенной таблицы.

Предложение SQL WHERE для фильтрации данных

В этом примере мы хотим получить данные только с категорией гаджетов .

Предложение SQL WHERE для фильтрации данных


Итак, нам нужно использовать предложение WHERE , чтобы ограничить результаты. В этом примере мы создали условие, согласно которому он должен проверять столбец «Категория» и возвращать записи только в том случае, если « Категория»«Гаджеты» .

Предложение SQL WHERE для фильтрации данных

Обратите внимание, что при использовании строки нам нужно заключить ее в одинарные кавычки ( ' ' ). 

При использовании чисел или целых чисел нам не нужно использовать одинарные кавычки. Например, мы хотим получить записи, где цена меньше или равна 30.

Итак, нам просто нужно создать запрос, в котором он должен проверять столбец «Цена» и возвращать те строки со значением 30 или меньше 30. Как видите, мы также не заключали число в одинарные кавычки, потому что это целое число.

Предложение SQL WHERE для фильтрации данных

Предложение SQL WHERE с оператором AND

Мы также можем использовать предложение WHERE с несколькими столбцами вместе с операторами AND и OR .

Оператор AND будет работать, если оба условия истинны . Таким образом, он используется для получения записей, в которых несколько условий имеют значение TRUE .

Например, в этом сценарии нам нужны записи, в которых производителем является GizmoWorks, а цена меньше 20.  

Предложение SQL WHERE для фильтрации данных

Мы создали несколько условий с предложением WHERE вместе с оператором AND , как показано на рисунке.

Предложение SQL WHERE для фильтрации данных

В нашей таблице у нас есть 2 строки с производителем GizmoWorks. Однако цена 2-й строки больше 20. Следовательно, в результате будет возвращена только та строка, которая возвращает true для двух установленных нами условий. 

Предложение SQL WHERE для фильтрации данных

Предложение SQL WHERE с оператором OR

Оператор ИЛИ означает, что он должен возвращать записи, если одно из условий истинно. Таким образом, если И возвращает только запись, в которой оба или все условия истинны, использование оператора ИЛИ вернет запись, даже если только одно условие возвращает истину. 

Предположим, например, что мы хотим получить записи, в которых название продукта — SingleTouch или MultiTouch .

Предложение SQL WHERE для фильтрации данных

Нам просто нужно создать запрос для проверки столбца PName таблицы Product . В этом запросе мы использовали предложение WHERE и оператор OR для возврата строк, соответствующих любому из установленных условий.

Предложение SQL WHERE для фильтрации данных

Использование предложения WHERE в SSMS

Давайте теперь воспользуемся предложением WHERE в SSMS . Здесь мы используем образец базы данных от Microsoft с именем AdventureWorks2012. Вы можете узнать, как настроить это, следуя этому руководству

В этом примере мы получим записи из таблицы SalesOrderHeader .

Предложение SQL WHERE для фильтрации данных

Чтобы выполнить этот запрос в SSMS , просто выделите его и нажмите кнопку «Выполнить».

Предложение SQL WHERE для фильтрации данных

Без использования предложения WHERE он вернет все записи в этой таблице. Как мы видим, он вернул 31 465 строк.

Предложение SQL WHERE для фильтрации данных

Допустим, мы хотим отфильтровать эти записи и вернуть только строки с TerritoryID , равным 5. Итак, давайте воспользуемся здесь предложением WHERE , чтобы создать это условие.

Предложение SQL WHERE для фильтрации данных

После выполнения этого запроса он теперь вернет 486 строк вместо 31 465. Это связано с тем, что он отфильтровал записи для тех, у кого TerritoryID равен 5 .

Предложение SQL WHERE для фильтрации данных

Прямо сейчас мы все еще переносим все столбцы из этой таблицы. Мы также можем ограничить столбцы, указав столбцы, которые мы хотим видеть.

Просто измените * на конкретные имена столбцов и выполните запрос. 

Предложение SQL WHERE для фильтрации данных

Теперь он даст нам определенные столбцы, которые мы установили с тем же количеством строк. 

Предложение SQL WHERE для фильтрации данных

Давайте теперь воспользуемся предложением WHERE со строковым значением. Например, мы хотим ограничить количество записей на основе значения P014123169936 в столбце PurchaseOrderNumber . Поскольку это значение имеет букву, оно считается строкой, даже если с ним много цифр.

Предложение SQL WHERE для фильтрации данных

Помните, что при использовании значения String нам нужно заключить его в одинарные кавычки. Без одинарных кавычек появится красная линия, указывающая на наличие ошибки.

Предложение SQL WHERE для фильтрации данных

Результат даст нам только одну строку, что означает, что есть только одни данные с номером заказа на покупку, который мы установили.

Предложение SQL WHERE для фильтрации данных

Предложение WHERE с оператором AND и порядком по ключевому слову

Давайте создадим еще один фильтр, в котором мы хотим выбрать записи с определенными датами заказа. В этом примере мы хотим выбрать только записи, в которых дата заказа больше или равна « 2014-01-01 » и меньше или равна « 2014-03-31 ».

Предложение SQL WHERE для фильтрации данных

Здесь мы также можем использовать ключевое слово Order By . В этом примере мы хотим, чтобы это было отсортировано по OrderDate в порядке убывания.

Предложение SQL WHERE для фильтрации данных

В результатах должны отображаться только те записи, которые соответствуют двум заданным нами условиям.

Предложение SQL WHERE для фильтрации данных

Мы также можем воссоздать этот запрос, используя оператор BETWEEN . Оператор BETWEEN выбирает значение в заданном диапазоне. Итак, это даст нам те же результаты, если мы сделаем это таким образом. 

Предложение SQL WHERE для фильтрации данных

Предложение WHERE с оператором ИЛИ для нескольких условий

В этом примере у нас есть несколько условий с использованием оператора ИЛИ . Мы хотим выбрать строки с 5, 6 или 7 в качестве идентификатора территории.

Предложение SQL WHERE для фильтрации данных

В результатах должны отображаться все записи, соответствующие любому из установленных нами условий. В этом примере было возвращено 7 225 строк.

Предложение SQL WHERE для фильтрации данных

Использование функций с предложением WHERE

Мы также можем использовать функции с предложением WHERE . Например, вместо того, чтобы вручную вводить значение даты столбца OrderDate , мы можем использовать функцию YEAR для автоматического извлечения всех записей с датой заказа 2014 года. 

Предложение SQL WHERE для фильтрации данных

В результате мы получили 11 761 строку, что является рекордом за 2014 год.

Предложение SQL WHERE для фильтрации данных

SQL для пользователей LuckyTemplates — новое
свертывание запросов курса LuckyTemplates и подключение к SQL Server

Заключение

Подводя итог, мы узнали, как использовать предложение WHERE в операторе SELECT . Опять же, мы также можем использовать его в операторах UPDATE , DELETE и других SQL . Мы также узнали, как использовать его для создания нескольких условий с помощью операторов И и ИЛИ .

Кроме того, мы узнали об использовании оператора BETWEEN для выбора диапазона значений. Мы также можем использовать предложение WHERE с функцией, подобной функции YEAR . Использование предложения WHERE очень важно для фильтрации некоторых записей, которые мы хотим иметь. Необходимо уменьшить количество записей, возвращаемых запросом, чтобы отфильтровать ненужные данные, которые нам не нужны. 

Всего наилучшего,

Хафиз

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.