1. 程式人生 > 其它 >命令列操作MySQL - between and查詢

命令列操作MySQL - between and查詢

技術標籤:MySQL資料庫mysqlsql

這是命令列操作MySQL資料庫系列部落格的第十四篇,今天這篇部落格記錄between and如何進行查詢。(BETWEEN AND 與 NOT BETWEEN AND)


簡介

BETWEEN AND:查詢包含在此區間內的所有整數,例如 “i >= 60 AND i <= 80”,可用資料庫術語表示:“i BETWEEN 60 AND 80”.

NOT BETWEEN AND:查詢不包含在此取間內的所有整數,例如"i < 60 OR i > 80",可用資料庫術語表示:“i NOT BETWEEN 60 AND 80”.

BETWEEN AND查詢

當我們需要查詢指定範圍內的資料(如: id 從0 到 100)的時候,MySQL提供了關鍵字BETWEEN AND,用來實現判斷欄位的數值是否在指定範圍內的條件查詢。該關鍵字的具體語法形式如下:

推薦寫法:
select * from 表名 where 整型欄位名 BETWEEN 0 AND 100;

可寫成如下格式(不推薦):
select * from 表名 where 整型欄位名 >= 0 AND 整型欄位名 <= 100;
(類似於C/C++語言的:i >= 0 && i <=100)

當滿足條件大於等於零且小於等於100以內的資料都會被查詢出來!

例:

  1. 建立一張表並插入資料

    create table between_and(id int PRIMARY KEY AUTO_INCREMENT, name varchar(32), age int, _date date);
    
    insert into between_and values(1, '甲', 20, '2000-4-26'), (2, '乙', 22, '1998-3-12'), (3, '乙', 18, '2002-9-29'), (4, '丁', 21, '1999-5-22');
    

    在這裡插入圖片描述

  2. 查詢年紀在19 至 25歲之間的資料

    select * from between_and where
    age BETWEEN 19 AND 25;

    在這裡插入圖片描述

  3. 當然除了可以整數型別外,還可以查詢日期型別

    select * from between_and where _date BETWEEN '2002-09-29' AND '2000-04-26';
    

    在這裡插入圖片描述

  4. 可以使用 大於號> 小於號< 方式表示(不推薦)

    select * from between_and where _date >= '1998-03-12' AND _date <= '2020-09-29';
    

    在這裡插入圖片描述

NOT BETWEEN AND查詢

不符合範圍的資料記錄查詢:
通過關鍵字NOT設定反向查詢非查詢範圍的條件,具體SQL語句如下:
推薦寫法:
select * from 表名 where 整型欄位名 NOT BETWEEN 0 AND 100;

可寫成如下格式(不推薦):
select * from 表名 where 整型欄位名 < 0 OR 整型欄位名 > 100;
(類似於C/C++語言的:i < 0 || i >100)

當滿足條件小於零且大於100的資料都會被查詢出來!

例:

  1. 查詢年紀不在19 至 25歲之間的資料

    select * from between_and where age NOT BETWEEN 19 AND 25;
    

    在這裡插入圖片描述

  2. 查詢日期型別98年至00年的所有資料

    select * from between_and where _date NOT BETWEEN '1998-03-12' AND '2000-04-26';
    

    在這裡插入圖片描述

  3. 可以使用 大於號> 小於號< 方式表示(不推薦)

    select * from between_and where (_date < '1998-03-12' OR _date > '2000-04-26');
    

    在這裡插入圖片描述


注意:只能查詢整型(int) 與 日期型別(date)。
例:
使用BETWEEN AND查詢字串型別:

select * from between_and where name BETWEEN '甲' AND '丁';

在這裡插入圖片描述
查詢結果為空!!!


總結:
BETWEEN AND查詢語句其實不難,只要懂得一點點的數學條件判段,都可以學會;只需注意,BETWEEN AND 只能查詢整型int與日期型別date的資料,其它型別都查詢不了