SQL - Оператор BETWEEN

Привет, будущие маги SQL! Сегодня мы отправимся в увлекательное путешествие в мир оператора BETWEEN. Как ваш добрый сосед по компьютерным наукам, я здесь, чтобы направить вас через это приключение с множеством примеров и капелькой юмора. Так что возьмите свои виртуальные палочки (клавиатуры), и начнем!

SQL - BETWEEN Operator

Оператор BETWEEN в SQL

Представьте, что вы организовываете вечеринку и хотите пригласить друзей, чей возраст находится в определенном диапазоне. Именно так действует оператор BETWEEN в SQL - он помогает нам выбрать данные в определенном диапазоне. Давайте окунемся!

Основная Синтаксис

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

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

Пример 1: Выбор Продуктов в Диапазоне Цен

Давайте представим, что у нас есть таблица "Products" в нашей базе данных интернет-магазина. Мы хотим найти все продукты, цены на которые находятся между $50 и $100.

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 100;

Этот запрос вернет все столбцы (*) из таблицы Products, где Цена находится между $50 и $100, включительно. Это как спросить: "Покажи мне все продукты, которые стоят как минимум $50, но не более $100."

Пример 2: Диапазоны Дат

Оператор BETWEEN не только для чисел. Он также отлично работает с датами! Представим, что у нас есть таблица "Orders" и мы хотим найти все заказы, сделанные в 2023 году.

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';

Этот запрос выбирает все заказы с датами с 1 января 2023 года по 31 декабря 2023 года. Это как спросить вашу базу данных: "Какие заказы мы получили в 2023 году?"

Оператор BETWEEN с Оператором IN

Теперь давайте добавим немного остроты! Мы можем combine BETWEEN с оператором IN для более сложных запросов. Представьте это как создание списка гостей на вашу вечеринку с определенными возрастными диапазонами и именами.

Пример 3: Combining BETWEEN и IN

Предположим, мы хотим найти сотрудников, которые находятся в возрасте от 25 до 35 лет и работают либо в IT, либо в HR отделе.

SELECT * FROM Employees
WHERE (Age BETWEEN 25 AND 35)
AND Department IN ('IT', 'HR');

Этот запрос можно представить как: "Покажи мне всех сотрудников в возрасте от 25 до 35 лет, которые работают в IT или HR." Это отличной способ сузить圈子 поиска критериев.

Оператор BETWEEN с Оператором UPDATE

Иногда нам нужно обновить данные в определенном диапазоне. Давайте посмотрим, как мы можем использовать BETWEEN в операторе UPDATE.

Пример 4: Обновление Зарплат

Представим, что мы хотим дать 10% raise всем сотрудникам, зарабатывающим от $50,000 до $70,000.

UPDATE Employees
SET Salary = Salary * 1.10
WHERE Salary BETWEEN 50000 AND 70000;

Этот запрос увеличивает зарплату на 10% для всех сотрудников в указанном диапазоне зарплат. Это как дать bonus вашим сотрудникам среднего дохода!

Оператор BETWEEN с Оператором DELETE

Оператор BETWEEN также можно использовать с операторами DELETE, когда вам нужно удалить данные в определенном диапазоне.

Пример 5: Удаление Старых Записей

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

DELETE FROM Orders
WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31';

Этот запрос удаляет все заказы, сделанные в 2020 году. Это как сделать цифровую весеннюю уборку для вашей базы данных!

Оператор NOT BETWEEN

А что, если мы хотим найти данные за пределами определенного диапазона? Вот где на помощь приходит оператор NOT BETWEEN.

Пример 6: Поиск Продуктов за Пределами Диапазона Цен

Давайте найдем все продукты, которые стоят дешевле $20 или дороже $100.

SELECT * FROM Products
WHERE Price NOT BETWEEN 20 AND 100;

Этот запрос возвращает все продукты с ценами меньше $20 или больше $100. Это как спросить: "Покажи мне бюджетные и роскошные товары, но ничего между ними."

Оператор NOT BETWEEN с Оператором IN

Lastly, let's combine NOT BETWEEN with the IN operator for even more precise queries.

Пример 7: Сложный Запрос Исключения

Предположим, мы хотим найти сотрудников, которые не находятся в возрасте от 30 до 50 лет и не работают в отделах продаж или маркетинга.

SELECT * FROM Employees
WHERE (Age NOT BETWEEN 30 AND 50)
AND Department NOT IN ('Sales', 'Marketing');

Этот запрос находит сотрудников, которые либо моложе 30 лет, либо старше 50, и которые не работают в отделах продаж или маркетинга. Это как сказать: "Покажи мне молодых и опытных сотрудников, которые не работают в наших клиентоориентированных отделах."

Обобщение Methods Оператора BETWEEN

Вот удобная таблица, резюмирующая различные способы использования оператора BETWEEN:

Method Описание Пример
BETWEEN Выбирает значения в заданном диапазоне WHERE Price BETWEEN 50 AND 100
BETWEEN с Датами Выбирает даты в заданном диапазоне WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
BETWEEN с IN Combines range и list selection WHERE (Age BETWEEN 25 AND 35) AND Department IN ('IT', 'HR')
BETWEEN в UPDATE Обновляет значения в диапазоне UPDATE Employees SET Salary = Salary * 1.10 WHERE Salary BETWEEN 50000 AND 70000
BETWEEN в DELETE Удаляет записи в диапазоне DELETE FROM Orders WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31'
NOT BETWEEN Выбирает значения за пределами диапазона WHERE Price NOT BETWEEN 20 AND 100
NOT BETWEEN с IN Combines exclusion диапазона и списка WHERE (Age NOT BETWEEN 30 AND 50) AND Department NOT IN ('Sales', 'Marketing')

И вот мы и добрались до конца,朋友们! Мы совершили путешествие по земле операторов BETWEEN, от базовых селектов до сложных запросов. Помните, что практика делает perfect, так что не бойтесь экспериментировать с этими запросами на своих наборах данных. Счастливого SQL-программирования, и пусть ваши запросы всегда возвращают те результаты, которые вы ищете!

Credits: Image by storyset