Excel 2010 SQL應用029 查詢區間條件
阿新 • • 發佈:2020-12-16
技術標籤:# Execel 2010 SQL應用
目錄
源資料表
姓名 | 年齡 | 入職日期 |
劉星星 | 36 | 1992/8/20 |
羅大吳 | 41 | 1992/9/12 |
吳巨集豔 | 42 | 1993/4/21 |
陳星 | 45 | 1993/12/26 |
羅文 | 28 | 1994/1/4 |
張大亮 | 36 | 1994/3/1 |
柳香香 | 46 | 1995/5/1 |
張汶 | 46 | 1995/10/1 |
張正難 | 48 | 1997/9/1 |
朱朱 | 59 | 1997/10/20 |
吳小麗 | 57 | 1998/3/27 |
柳文明 | 30 | 1998/7/15 |
吳華 | 42 | 1998/11/1 |
柳生風 | 58 | 1999/2/10 |
陳明明 | 35 | 1999/6/4 |
黃文風 | 36 | 2000/1/5 |
樑先麗 | 34 | 2000/5/17 |
趙正雲 | 30 | 2000/8/1 |
王重陽 | 43 | 2000/8/29 |
張通 | 49 | 2000/10/27 |
周星星 | 47 | 2000/12/1 |
陳正明 | 31 | 2000/12/1 |
古鳳 | 34 | 2000/12/1 |
周正亮 | 32 | 2002/1/13 |
劉吳薪 | 59 | 2002/5/23 |
吳明麗 | 41 | 2002/8/25 |
朱麗麗 | 54 | 2002/11/18 |
陳昆 | 27 | 2003/8/15 |
趙香華 | 28 | 2004/6/22 |
吳芳華 | 26 | 2006/3/2 |
趙應芳 | 32 | 2006/3/7 |
吳風 | 24 | 2006/4/19 |
陳正雄 | 28 | 2007/5/28 |
朱華麗 | 34 | 2007/8/20 |
閏關 | 25 | 2007/8/20 |
周泰 | 57 | 2007/9/4 |
歐陽正雄 | 43 | 2007/9/11 |
張文 | 29 | 2007/10/19 |
吳芳芳 | 51 | 2008/5/8 |
李英 | 49 | 2008/5/29 |
趙大年 | 34 | 2009/9/1 |
趙明寶 | 28 | 2010/4/1 |
吳正明 | 40 | 2010/5/11 |
劉倩倩 | 58 | 2010/6/4 |
張傅文 | 26 | 2010/12/31 |
在許多時候,使用者需要找出某一範圍內的資料,而不是單純地找出大於某個值或小於某個值的敷據。如圖所示為某公司的員工名單,該表格中包括了員工姓名、年齡、入職日期等資訊。在製作年末報表時,需要統計2010年加入公司的員工資訊,用SQL找出這些員工。
解決方案
利用SQL的BETWEEN運算可以方便地查詢欄位值在某一範圍內的資料。
SELECT *
FROM [sheet1$]
WHERE 入職日期 BETWEEN #2010-1-1# AND #2010-12-31#
利用BETWEEN求某範圍內的資料
當要找出欄位在某一範圍內的資料時,可以利用BETWEEN運算子,其語法如下:
expr BETWEEN value1 AND value2
引數expr表示用於標識包含要計算的資料欄位。
該表示式用於查詢所有的欄位值在value1和value2之間的記錄(包括value1和value2)。value1、value2可以為數字或日期。採用該表示式即表示查詢滿足欄位值大於或等於value 1
本例中,要找出2010年加入公司的員工,即入職日期大於或等於2010年1月1日且小於2010年12月31日,可以採用BETWEEN運算子,由於是日期,必須在日期兩端加上井字元號(#)。
入職日期 BETWEEN #2010-1-1# AND #2010-12-31#
一般地,value1總是小於或等於value2。當value1大於value2時,SQL查詢機制將自動判斷值的大小並返回介於value1和vajue2之間的值,其查詢結果等同於BETWEEN value2 AND
value1。
當Value1等於Value2時,即表示範圍內只有一個值,在這種情況下與使用等號運算子效果相同,即相當於
expr=value1
若要查詢指定範圍以外的資料,可以採用以下表達式:
expr NOT BETWEEN value1 AND value2