Navicat 部落格

2019 年 5 月 29 日,由 Robert Gravelle 撰寫

你必須知道的一些 SELECT 查詢這篇文章講述了一些最重要的查詢以及提供了一些範例。今天我們繼續這個主題,示範如何使用 BETWEEN 這個非常重要的運算子。

將數值限制為某個範圍

篩選查詢傳回列數的其中一種方法是將一個或多個欄位的數值限制為一個範圍。通常,這可以使用>=和<=運算子來完成。舉例說明,以下的查詢傳回 2005 年 7 月 5 日至 6 日期間的Sakila電影出租資訊:

SELECT
        customer_list.`name`,
        rental.rental_date,
        film.title
FROM
        customer_list
        INNER JOIN rental ON customer_list.ID = rental.customer_id
        INNER JOIN film ON rental.inventory_id = film.film_id
WHERE
        rental_date >= '2005-07-05' AND rental_date <= '2005-07-06'

與上述範圍相同的一個更短且更易理解的限制方法是使用 BETWEEN 運算子。BETWEEN 運算子用於選取特定範圍內的數值。定義為 BETWEEN 範圍一部分的數值是包含的,即範圍中提到的起始值和結束值:

WHERE rental_date BETWEEN '2005-07-05' AND '2005-07-06'

在這兩種情況,結果都受限於特定的日期範圍:

name rental_date title
----------------------------------------------------------------
JAIME NETTLES 2005-07-05 22:49:24 TEQUILA PAST
PAMELA BAKER 2005-07-05 22:56:33 STAR OPERATION
EDUARDO HIATT 2005-07-05 22:59:53 BRIDE INTRIGUE
FERNANDO CHURCHILL 2005-07-05 23:13:51 BLADE POLISH
CARMEN OWENS 2005-07-05 23:25:54 CANDLES GRAPES
JOE GILLILAND 2005-07-05 23:32:49 TOURIST PELICAN
APRIL BURNS 2005-07-05 23:44:37 WIZARD COLDBLOODED
ERICA MATTHEWS 2005-07-05 23:46:19 JACKET FRISCO

雖然 BETWEEN 運算子用於限制日期是很理想,但同樣適用於其他資料類型。例如進一步篩選上述資料,將結果限制為租金介於 2.99 和 4.99 之間:

SELECT
        customer_list.`name`,
        rental.rental_date,
        film.title,
        film.rental_rate
FROM
        customer_list
        INNER JOIN rental ON customer_list.ID = rental.customer_id
        INNER JOIN film ON rental.inventory_id = film.film_id
WHERE
        rental.rental_date BETWEEN '2005-07-05' AND '2005-07-06'
        AND film.rental_rate BETWEEN 2.99 AND 4.99

name rental_date title rental_rate
----------------------------------------------------------------------------------
JAIME NETTLES 2005-07-05 22:49:24 TEQUILA PAST 4.99
PAMELA BAKER 2005-07-05 22:56:33 STAR OPERATION 2.99
CARMEN OWENS 2005-07-05 23:25:54 CANDLES GRAPES 4.99
JOE GILLILAND 2005-07-05 23:32:49 TOURIST PELICAN 4.99
APRIL BURNS 2005-07-05 23:44:37 WIZARD COLDBLOODED 4.99
ERICA MATTHEWS 2005-07-05 23:46:19 JACKET FRISCO 2.99

總結

今天的文章介紹了 BETWEEN 這個非常重要的運算子,以及使用Navicat Premium 作為資料庫用戶端的一些示範。Navicat 的自動完成程式碼和自訂的程式碼片段功能透過關鍵字建議和減少重複輸入相同的程式碼,令編碼更加快速。你可以免費試用 14 天進行評估。

Navicat 文章
頻道記錄
分享
部落格封存檔