Оператор BETWEEN

Оператор BETWEEN — це логічний оператор порівняння, який використовується в SQL для перевірки, чи належить певне значення до заданого діапазону. Його часто застосовують у частині WHERE запиту для фільтрації рядків за числовими, текстовими або часовими межами.
SELECT column_name
FROM table_name
WHERE column_name BETWEEN value1 AND value2;    
• column_name — стовпець, значення якого порівнюється;    
• value1 — нижня межа (включно);    
• value2 — верхня межа (включно).
У MySQL BETWEEN включає обидві межі:
тобто умова BETWEEN 10 AND 20 еквівалентна >= 10 AND <= 20.

Приклад

-- Створення бази даних
CREATE DATABASE between_practice;
USE between_practice;
-- Створення таблиці
CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    category VARCHAR(30),
    price DECIMAL(10,2),
    created_at DATE
);
-- Наповнення таблиці даними
INSERT INTO products (name, category, price, created_at)
VALUES
('iPhone 15', 'Electronics', 1200.00, '2025-01-10'),
('MacBook Air', 'Electronics', 1800.00, '2025-02-15'),
('AirPods Pro', 'Electronics', 350.00, '2025-03-05'),
('Galaxy S24', 'Electronics', 950.00, '2025-01-20'),
('Kindle Paperwhite', 'Gadgets', 180.00, '2024-12-10'),
('Sony WH-1000XM5', 'Audio', 600.00, '2025-02-02'),
('Dell XPS 13', 'Computers', 1400.00, '2025-03-20'),
('Asus ZenBook', 'Computers', 1100.00, '2025-04-12'),
('Google Pixel 8', 'Electronics', 800.00, '2025-01-25'),
('HP Pavilion', 'Computers', 700.00, '2024-11-30');

-- Використання BETWEEN для числових значень
SELECT name, price
FROM products
WHERE price BETWEEN 700 AND 1200;
-- Отримаємо всі товари, де 700 ≤ price ≤ 1200.

-- Використання BETWEEN для дат
SELECT name, created_at
FROM products
WHERE created_at BETWEEN '2025-01-01' AND '2025-02-28'
ORDER BY created_at;
-- Тут ми бачимо, що BETWEEN коректно обробляє діапазон дат.

-- Використання BETWEEN для текстових значень
SELECT name
FROM products
WHERE name BETWEEN 'G' AND 'M'
ORDER BY name;
-- Порівняння виконується за алфавітним порядком — все, що починається між літерами “G” і “M”.

-- Використання NOT BETWEEN
SELECT name, price
FROM products
WHERE price NOT BETWEEN 500 AND 1000
ORDER BY price;
-- Отримаємо все, що менше 500 або більше 1000.

Для додаткової візуалізації є відео.

Leave a Reply

Your email address will not be published. Required fields are marked *