軟體測試之資料庫測試技術系列七

千鋒教育官方發表於2019-08-29

   筆者上次介紹了MySQL 資料庫中使用 DQL 語句來實現對資料庫的操作。今天繼續來和大家分享。

 

  在查詢語句中聚合函式的使用也是最為常見的。聚合函式是對一組值執行計算並返回單一結果的函式。我們可以認為一張表本身就是一個組。COUNT 可以統計總記錄數,例:查詢地址在鄭州的老師有多少個? SELECTCOUNT(1)FROM teacher WHERE address=' 鄭州 ' MIN 可以統計一組數中的最小值,例:查詢最低薪資教師資訊, SELECT MIN(salary)FROM teacher MAX 可以統計一組數中的最大值,例:查詢最高薪資教師資訊, SELECT MAX(salary)FROM teacher AVG 可以統計一組數中的平均值,例:查詢教師平均薪資, SELECT AVG(salary)FROM teacher SUM 可以統計一組數中的總和,例:查詢教師薪資總和, SELECT SUM(salary)FROM teacher

 

  子查詢的使用在SQL 語句中也是比較廣泛的。在實際查詢中 where 後面是不可以跟上聚合函式。例 : 查詢工資最高的老師資訊, SELECT*FROM teacher

 

  WHEREsalary=(SELECT MAX(salary)FROM teacher) ,子查詢要用小括號括起來。

 

  在GROUP BY 可以對一張表自定義的分成若干組,這樣就可以分組統計資料。格式: SELECT FROM..WHERE .GROUP BY 欄位 1[, 欄位 2, 欄位 3] 。例:統計各部門的平均工資, SELECT deptno,AVG(salary)FROM teacher GROUP BY deptno 。先根據部門分組,再根據地址分組,求平均工資: SELECT deptno,address,AVG(salary)FROM teacher GROUP BYdeptno,address GROUP BY 是在 WHERE 條件後執行的, HAVING 是在 GROUPBY 後執行的, HAVING 可以跟聚合函式和查詢條件。例:統計部門教師資料大於 2 位的部門號, SELECT deptno,COUNT(1)c FROM teacherGROUP BY deptno HAVING COUNT(1)>2

 

  查詢語句的語法順序:SELECT FROM WHERE GROUP BY HAVING ORDER BY …。但是執行順序 :WHERE->GROUP BY->HAVING->SELECT->ORDER BY

 

  以上是筆者這次給大家分享的內容,希望大家在實際學習中多去操作,下一次筆者將從表連線方面來實現對錶的操作。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2655392/,如需轉載,請註明出處,否則將追究法律責任。

相關文章