MySQL - Between 運算子:初學者指南

您好,有志於數據庫的愛好者們!今天,我們將踏上一段令人興奮的旅程,進入 MySQL 的世界,特別專注於 BETWEEN 運算子。別擔心您是編程新手;我將成為您的友好指南,逐步解釋一切。那麼,讓我們一起來探索吧!

MySQL - Between Operator

BETWEEN 運算子是什麼?

想像您正在整理書架。您想找到所有在2010年至2020年間出版的書籍。這正是 MySQL 中的 BETWEEN 運算子幫助我們做到的——它允許我們選擇給定範圍內的值。

基本語法

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

讓我們分解一下:

  • SELECT:這就像是說 "我想看到..."
  • column_name(s):這是您想要看到的具體信息
  • FROM table_name:這是信息存放的地方
  • WHERE:這是我們設置條件的語句
  • BETWEEN value1 AND value2:這是我們的範圍

MySQL BETWEEN 運算子實戰

假設我們有一個名為 books 的表,其中包含 idtitleauthorpublication_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年間出版,但僅限於某些作者的書籍呢?這就是我們將 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 說明

有時候,我們不只是想查看數據——我們還想改變它。假設我們想給價格在50美元到100美元之間的所有產品提供10%的折扣:

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 運算子

我們可以將 NOT BETWEEN 與 IN 結合起來進行更精確的查詢:

SELECT product_name, price
FROM products
WHERE price NOT BETWEEN 50 AND 100
AND category IN ('Electronics', 'Appliances');

這個查詢找到在電子或家電類別中,價格低於50美元或高於100美元的產品。

在客戶端程序中使用 BETWEEN 運算子

當在客戶端程序(如 PHP 腳本)中使用 BETWEEN 時,您可能會這樣做:

<?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 腳本準備了一個帶有占位符的查詢,綁定了值,執行了查詢,然後顯示結果。

結論

好了,各位!我們已經一起穿越了 MySQL 中 BETWEEN 運算子的世界。從基本的選擇到更新和刪除,我們看到了這個小巧的運算子是多麼的多功能。記住,熟練是通過練習而來的,所以不要害怕嘗試您自己的查詢。

這裡是一個我們所涵蓋方法的快速參考表:

方法 描述
BETWEEN 選擇給定範圍內的值
BETWEEN 與 IN 結合範圍和特定值選擇
BETWEEN 與 UPDATE 更新特定範圍內的記錄
BETWEEN 與 DELETE 刪除特定範圍內的記錄
NOT BETWEEN 選擇給定範圍之外的值
NOT BETWEEN 與 IN 結合排除範圍與特定值選擇

愉快地查詢,願您的數據庫總是井然有序且效率高!

Credits: Image by storyset