Excel中使用SQL查詢語句,讓你工作中的數據分析如虎添翼

在我們進行數據處理的過程中,我們常常會調用一些外部數據,此時使用SQL查詢語句是非常方便的,今天我們就來給大家詳細講解一下SQL查詢語句中用得最多的SELECT語句的一些基本用法。

1.SELECT 語法

SELECT [ALL|DISTINCT|DISTINCTROW|TOP]

{|talbe.|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}

FROM table_source

[ WHERE search_condition ]

[ GROUP BY group_by_expression ]

[ HAVING search_condition ]

[ ORDER BY order_expression [ ASC | DESC ] ]

[LIMIT [offset,] rows | rows OFFSET offset]

DISTINCT 去除重複值

DISTINCTROW忽略基於整個重複記錄的數據,而不僅僅是重複字段。

執行步驟:

1.先從from字句一個表或多個表創建工作表

2.將where條件應用於1)的工作表,保留滿足條件的行

3.GroupBy 將2)的結果分成多個組

4.Having 將條件應用於3)組合的條件過濾,只保留符合要求的組。

5.Order By對結果進行排序。

6. LIMIT限制查詢的條數

2.FROM子句

FROM子句是SELECT語句中必須要有的一部分,它指定了查詢所需要的數據源的名稱。

語法:FROM table_source。

參數解釋:table_source可以是表、視圖等等,一個語句中最多可以使用256個表源。如果使用的表過多,查詢性能是會受到影響的,所以不建議使用太多表源。

請看下面的示例:

Select distinct 供貨商信息.單位名稱,供貨商信息.地址 from 供貨商信息

3.WHERE子句

在查詢數據的時候,我們常常是希望查詢出滿足一定條件的數據,而非數據表中的所有數據,這個時候我們就可以使用WHERE子句來實現。數據庫系統處理該語句時,按行為單位,逐個檢查每個行是否滿足條件,將不滿足條件的行篩選掉。

語法:WHERE search_conditions

參數解釋:search_conditions為用戶所選所需要查詢數據行的條件,即查詢返回行記錄的滿足條件。

3.1 比較運算符

3.2 邏輯運算符

3.3 字符匹配符

在WHERE子句中 使用字符匹配符LIKE或NOT LIKE 可以把表達式與字符串進行比較,從而實現對字符串的模糊查詢。

語法:WHERE expression [NOT] LIKE 'string'

參數解釋:[NOT]為可選項,'string'表示進行比較的字符串。WHERE子句實現對字符串的模糊匹配,進行模糊匹配是在string字符串中使用通配符。

示例:Select * from 入庫數據 where 產品名稱 like '% a %'

4.ORDER BY 子句

有些時候,我們希望查詢出來的結果是按照某個順序排列的,這個時候就可以使用ORDER BY子句對生成的結果集進行排序。

語法:ORDER BY order_experssion[ASC | DESC]

參數解釋:order_experssion表示用於排序的列或列名及表達式。當有多個排序列時,每個排序列用逗號隔開,而且列後都可以跟一個排序要求。ASC—–升序排序(默認值),DESC—降序排序。

示例:Select * from 入庫數據 order by 產品名稱 desc

5.GROUP BY 子句

在查詢中,有時候我們需要對數據進行分組(類似於Excel中的分類彙總的功能),此時就可以使用GROUP BY 子句。

語法:GROUP BY group_by_expression[ WITH ROLLUP|CUBE ]

參數解釋:group_by_expression表示分組所依據的列,ROLLUP表示只返回第一個分組條件指定的列的統計行,若改變列的順序就會使返回的結果行數據發生變化。CUBE是ROLLUP的擴展,表示除了返回由GROUP BY子句指定的列外,還返回按組統計的行。GROUP BY 子句通常與統計函數聯合使用。常見的統計函數如下表:

示例:Select count(*)from 入庫數據 group by 產品名稱

6.HAVING

HAVING子句的用法類似WHERE子句,它指定了組或集合的搜索條件。HAVING子句通常與GROUP BY子句一起使用。

語法:HAVING search_conditions

參數解釋:search_conditions為查詢所需的條件,即返回查詢結果的滿足條件。在使用GROUP BY 子句時,HAVING子句將限定整個GROUP BY子句創建的組。其具體規則如下:

1.如果指定了GROUP BY 子句,則HAVING 子句的查詢條件應用於GROUP BY子句創建的組

2.如果指定了WHERE子句而沒有指定GROUP BY子句,則HAVING子句的查詢條件將應用於WHERE子句的輸出結果集

3. 如果既沒有指定WHERE子句又沒有指定GROUP BY子句,則HAVING子句的查詢條件將用於FROM子句的輸出結果集

7.limit子句

其作用是用於限制查詢結果的條數。常常用於實現分頁查詢。

語法:[LIMIT [offset,] rows | rows OFFSET offset]

參數解釋:有兩個參數,第一個是偏移量,第二個是數目。

Acces及Excel的數據庫不支持該語句。

示例:Select * from 入庫數據 limit 2,2


分享到:


相關文章: