資料檢索

狼崽愛吃魚發表於2020-10-31

基本查詢語句:
使用select語句資料庫查詢一個表,使用select語句時,首先要確定索要查詢的列,“*”代表所有的列。
select…from 基本子句的使用:
為欄位取別名:
select 專案的原名 as 別名

帶like的字元匹配查詢:
like屬於較常用的比較運算子,通過它可以實現模糊查詢。它有兩種萬用字元:“%”和下畫線””:
“%”可以匹配一個或多個字元,可以代表任意長度的字串,長度可以為0。
”只匹配一個字元。

用is null 關鍵字查詢空值:
在where 子句中,如何處理null的值的比較呢?為了取得列中含有null的行,MySQL語句包含了操作待功能is [not] null。說明:
一個欄位值是空值或者不是空值,要表示為“is null”或“is not null”;不能表示為“=null”或“ >null”。
如果寫成“欄位=null”或“欄位<>null”,系統的執行結果都直接處理為null值,按照 false處理而不報錯。

使用order by子句對結果集排序:
使用order by 子句可以對查詢的結果進行升序(asc)或降序(desc)排列排序可以依照某個列的值,若列值相等則根據第2個屬性的值,以此類推。利用order by子句進行排序,需要注意如下事項和原則:
預設情況下,結果集按照升序排列。也可以在輸出項的後面加上關鍵字desc來實現降序輸出。對含有null值的列進行排序時,如果是按升序排列,null值將出現在最前面,如果是按降序排列,null值將出現在最後。
order by子句包含的列並不一定出現在選擇列表中。
order by子句可以通過指定列名、函式值和表示式的值進行排序。
order by子句不可以使用text、blob、longtext和mediumblob等型別的列。
在order by子句中可以同時指定多個排序項。

group by 子句
group by子句可以將查詢結果按屬性列或屬性列組合在行的方向上進行分組,每組在屬性列或屬性列組合上具有相同的聚合值。如果聚合函式沒有使用group by子句,則只為select語句報告一個聚合值。將一列或多列定義成為一組,使組內所有的行在那些列中的數值相同。出現在查詢的select列表中的每一列都必須同時出現在group by 子句中。
使用 group by 關鍵字來分組:單獨使用group by關鍵字,查詢結果只顯示每組的一條記錄。

聚合函式查詢:
MySQL的常用聚合函式包括count()、sum()、avg()、max()和 min()等。其中,count()用來統計記錄的條數;sum()用來計算欄位的值的總和;avg()用來計算欄位的值的平均值;max()用來查詢欄位的最大值;min()用來查詢欄位的最小值。利用聚合函式可以滿足表中記錄的聚合運算。

count()函式:count()函式對於除“*”以外的任何引數,返回所選擇聚合中非null值的行的數目;對於引數“×”,返回選擇聚合所有行的數目,包含null值的行。沒有 where 子句count()是經過內部優化的,能夠快速地返回表中所有的記錄總數。

sum()函式和avg()函式:sum()函式可以求出表中某個欄位取值的總和。avg()函式可以求出表中某個欄位取值的平均值。

max()函式和min()函式:max()函式可以求出表中某個欄位取值的最大值,min()函式可以求出表中某個欄位取值的最小值。

相關文章