SQL: условие WHERE

Резюме: в этой статье вы узнаете, как использовать предложение SQL WHERE для фильтрации строк на основе заданных условий.

Введение в предложение SQL WHERE

Чтобы выбрать определенные строки из таблицы, вы используете предложение WHERE в операторе SELECT. Ниже показан синтаксис предложения WHERE в операторе SELECT FROM:

Introduction to SQL WHERE clause

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

Обратите внимание, что SQL имеет трехзначную логику, а именно TRUE, FALSE и UNKNOWN. Это означает, что если строка вызывает оценку условия как FALSE или NULL, то строка не будет возвращена.

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

В следующей таблице приведены операторы сравнения SQL:

ОператорЗначение
=Равно
<> (!=)Не равно
<Меньше, чем
>Больше чем
<=Меньше или равно
>=Больше или равно

Чтобы сформировать простое выражение, вы используете один из вышеперечисленных операторов с двумя операндами, которые могут быть либо именем столбца с одной стороны, либо литеральным значением с другой, например:

simple expression

Задается вопрос: «Зарплата больше 1000?».

Или вы можете использовать имена столбцов с обеих сторон оператора, например:

column names on both sides of an operator

Это выражение задает другой вопрос: «Минимальная зарплата меньше максимальной?».

Буквальные значения, которые вы используете в выражении, могут быть числами, символами, датами и временем, в зависимости от используемого формата:

  • Число: используйте число, которое может быть целым или десятичным без какого-либо форматирования, например, 100, 200,5.
  • Символ: используйте символы, заключенные в одинарные или двойные кавычки, например, «100«, «John Doe«.
  • Дата: используйте формат, который хранится в базе данных. Это зависит от системы базы данных, например, MySQL использует формат ‘yyyy-mm-dd’ для хранения данных о дате.
  • Время: используйте формат, который система баз данных использует для хранения времени. Например, MySQL использует формат ‘HH:MM:SS’ для хранения данных о времени.

Кроме оператора SELECT, вы можете использовать предложение WHERE в операторе UPDATE или DELETE, чтобы указать, какие строки должны быть обновлены или удалены.

Примеры SQL WHERE

Мы будем использовать таблицу employees, чтобы продемонстрировать, как выбирать данные из таблицы с помощью предложения WHERE.

employees table

Примеры SQL предложения WHERE с числовым сравнением

Следующий запрос находит сотрудников, у которых зарплата больше 14 000, и сортирует набор результатов на основе зарплаты в порядке убывания.

query finds employees who have salaries greater than 14 000

result-query-finds-employees-who-have-salaries-greater-than-14-000

Следующий запрос находит всех сотрудников, работающих в отделе с идентификатором 5.

query finds all employees who work in the department id 5

Пример SQL предложения WHERE с символами

SQL не чувствителен к регистру. Однако, когда речь идет о значениях в сравнениях, он чувствителен к регистру. Например, следующий запрос находит сотрудника, чья фамилия Chen.

query finds the employee whose last name is Chen

result-query-finds-the-employee-whose-last-name-is-Chen

Однако если вы используете CHEN или chen, ни одна строка не будет возвращена.

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

Чтобы получить всех сотрудников, которые пришли в компанию после 1 января 1999 года, вы используете следующий запрос:

all employees who joined the company after January 1st

result all employees who joined the company after January 1st

Если вы хотите найти сотрудников, которые пришли в компанию в 1999 году, у вас есть несколько способов:

  1. Использовать функцию YEAR для получения данных о годе из столбца hire_date и использовать оператор equal to (=) для формирования выражения.
  2. Использовать два выражения с помощью оператора AND.
  3. Использовать оператор BETWEEN.

Следующее утверждение иллюстрирует первый способ:

find the employees using year

result find the employees using year

Сводка

В этой статье мы показали вам, как использовать предложение SQL WHERE для фильтрации данных на основе заданного условия.

Видео по теме

Предыдущая статья: SQL OFFSET FETCH

Следующая статья: Операторы сравнения SQL

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: