MySQL - Оператор Between: Пособие для начинающих
Здравствуйте, начинающие энтузиасты баз данных! Сегодня мы отправимся в увлекательное путешествие в мир MySQL, Specifically focusing on the BETWEEN operator. Не волнуйтесь, если вы новички в программировании; я буду вашим дружелюбным проводником, объясняя все шаг за шагом. Итак, lets dive in!
Что такое оператор BETWEEN?
Представьте, что вы организовываете свою книжную полку. Вы хотите найти все книги, изданные между 2010 и 2020 годами. Именно для этого предназначен оператор BETWEEN в MySQL – он позволяет нам выбирать значения в заданном диапазоне.
Основная синтаксис
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Разберем это:
-
SELECT
: Это как decir "Я хочу увидеть..." -
column_name(s)
: Это конкретные фрагменты информации, которые вы хотите увидеть -
FROM table_name
: Это где хранится информация -
WHERE
: Это как мы устанавливаем условия -
BETWEEN value1 AND value2
: Это наш диапазон
Оператор BETWEEN в действии
Давайте представим, что у нас есть таблица books
с колонками id
, title
, author
, и publication_year
. Вот как мы можем использовать BETWEEN:
SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020;
Этот запрос покажет нам все книги, изданные между 2010 и 2020 годами, включительно. Это как спросить, "Покажи мне все книги с 2010 года до и включая 2020 год."
BETWEEN с датами
BETWEEN также хорошо работает с датами! Давайте представим, что у нас есть таблица orders
:
SELECT order_id, customer_name, order_date
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
Это покажет все заказы, сделанные в 2023 году. Круто, правда?
MySQL BETWEEN с оператором IN
Теперь давайте добавим немного остроты. Что если мы хотим найти книги, изданные между 2010 и 2020 годами, но только определенными авторами? Для этого мы combines BETWEEN с IN:
SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020
AND author IN ('J.K. Rowling', 'George R.R. Martin', 'Stephen King');
Этот запрос какждый, "Покажи мне книги с 2010 до 2020 годов, но только если они написаны этими конкретными авторами."
MySQL BETWEEN с оператором UPDATE
Иногда мы не просто хотим viewed данные – мы хотим изменить их. Давайте представим, что мы хотим дать скидку 10% на все товары, priced между $50 и $100:
UPDATE products
SET price = price * 0.9
WHERE price BETWEEN 50 AND 100;
Этот запрос обновляет цены, применяя 10% скидку к товарам в нашем заданном диапазоне.
Оператор BETWEEN с оператором DELETE
Оператор BETWEEN также можно использовать, когда мы хотим удалить данные. Представим, что мы хотим удалить все заказы из первого квартала 2023 года:
DELETE FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-03-31';
Это удаляет все заказы, сделанные в первые три месяца 2023 года. Будьте осторожны с операторами DELETE – всегда проверяйте дважды перед выполнением!
MySQL NOT BETWEEN оператор
Иногда мы хотим все, что находится за пределами определенного диапазона. Для этого удобен оператор NOT BETWEEN:
SELECT title, author, publication_year
FROM books
WHERE publication_year NOT BETWEEN 2010 AND 2020;
Этот запрос показывает все книги, изданные до 2010 или после 2020 годов.
NOT BETWEEN оператор с оператором IN
Мы можем combine NOT BETWEEN с IN для еще более конкретных запросов:
SELECT product_name, price
FROM products
WHERE price NOT BETWEEN 50 AND 100
AND category IN ('Electronics', 'Appliances');
Этот запрос находит товары в категориях Electronics или Appliances, которые стоят либо менее $50, либо более $100.
Использование оператора BETWEEN в клиентской программе
Когда вы используете BETWEEN в клиентской программе (например, в PHP скрипте), вы можете сделать что-то вроде этого:
<?php
$min_price = 50;
$max_price = 100;
$query = "SELECT product_name, price FROM products WHERE price BETWEEN ? AND ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("dd", $min_price, $max_price);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row['product_name'] . ": $" . $row['price'] . "<br>";
}
?>
Этот PHP скрипт подготавливает запрос с заполнителями, связывает значения, выполняет запрос и затем отображает результаты.
Заключение
И вот мы и добрались до конца, друзья! Мы совершили путешествие через мир оператора BETWEEN в MySQL. От базовых select до update и delete, мы видели, насколько универсален этот оператор. Помните, что практика makes perfect, так что не бойтесь экспериментировать с своими запросами.
Вот быстрый справочный стол с методами, которые мы рассмотрели:
Метод | Описание |
---|---|
BETWEEN | Выбирает значения в заданном диапазоне |
BETWEEN с IN | Combines range и specific value selection |
BETWEEN с UPDATE | Обновляет записи в определенном диапазоне |
BETWEEN с DELETE | Удаляет записи в определенном диапазоне |
NOT BETWEEN | Выбирает значения за пределами заданного диапазона |
NOT BETWEEN с IN | Combines exclusion of a range с specific value selection |
Счастливого запроса и пусть ваши базы данных всегда будут организованы и эффективны!
Credits: Image by storyset