Выбор по условию в MySQL (SELECT WHERE)

Выбор по условию в MySQL (SELECT WHERE)

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

Ключевое слово WHERE используется с SELECT, UPDATE и DELETE. Тем не менее, вы увидите использование этого предложения с другими утверждениями в следующих статьях.

Синтаксис

Ключевое слово WHERE используется с оператором SELECT для извлечения только тех записей, которые удовлетворяют указанным условиям. Основной синтаксис может быть задан с помощью:

SELECT column_list FROM table_name WHERE condition;

Здесь column_list - это имена столбцов/полей, таких как имя, возраст, страна и т.д. таблицы базы данных, значения которой вы хотите получить. Однако, если вы хотите получить значения всех столбцов, доступных в таблице, вы можете использовать следующий синтаксис:

SELECT * FROM table_name WHERE condition;

Теперь давайте рассмотрим несколько примеров, которые демонстрируют, как это на самом деле работает.

блок 1

Предположим, у нас есть таблица с именем сотрудников в нашей базе данных со следующими записями:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Vasya Pupkin | 2001-05-01 |   5000 |       4 |
|      2 | Vanya Pupkin | 2002-07-15 |   6500 |       1 |
|      3 | Petya Pupkin | 2005-10-18 |   8000 |       5 |
+--------+--------------+------------+--------+---------+

Фильтрация записей с помощью условия WHERE

Следующая команда SQL возвращает всех сотрудников из таблицы сотрудников, чья зарплата превышает 6000. Ключевое слово WHERE просто отфильтровывает нежелательные данные.

SELECT * FROM employees
WHERE salary > 6000;

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

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

SELECT emp_id, emp_name, salary
FROM employees
WHERE salary > 6000;

В результате вы получите таблицу состоящую из указаных выше столбцов:

+--------+--------------+--------+
| emp_id | emp_name     | salary |
+--------+--------------+--------+
|      1 | Vasya Pupkin |   5000 |
|      2 | Vanya Pupkin |   6500 |
|      3 | Petya Pupkin |   8000 |
+--------+--------------+--------+

В обоих примерах мы использовали оператор «больше чем». Однако, вы можете менять операторы в зависимости от результатов, которые хотите получить. Давайте рассмотрим подробнее, какие операторы можно использовать с ключевым словом WHERE.

Операторы, используемые с WHERE

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

Оператор Описание Пример
= Равно WHERE id = 2
> Больше чем WHERE age > 18
< Меньше чем WHERE age < 30
>= Больше или равно WHERE age >= 18
<= Меньше или равно WHERE age <= 30
LIKE Совпадение с паттерном WHERE name LIKE 'Vas'
IN Совпадение со списком значений WHERE city IN ('Moscow', 'Sochi')
BETWEEN Находится ли в диапазоне значений WHERE rating BETWEEN 3 AND 5
блок 3

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*