首页 > IT职业 > IT职场 > 软件测试之数据库测试技术系列七
笔者上次介绍了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博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2655392/ ,如需转载,请注明出处,否则将追究法律责任。