SQL的函数很有用
2.函数
1、SQL的函数
【知识点介绍】
与大多数的计算机语言一样,SQL里也有函数(functions),它的函数一般是对数据执行的,为数据的转换和处理提供很强大、简介的作用。
它的使用在语法上可以表达为:
SELECT 函数(列) FROM 表;
2、函数类型
【知识点介绍】
在SQL中,函数往往被分为两个类型:
1.Aggregate 函数,也被称为汇总函数或聚集函数,它的函数操作面向列的数据,并返回单一的值;
2.Scalar 函数,它的函数面向单一的值,返回基于该值操作后的单一的值。
这两种类型的具体内容,我们会在接下来的课程中一一介绍。
汇总数据的函数
3.Aggregate函数
1、什么是聚集函数
【知识点介绍】
聚集函数是对某些列的行数据进行计算,并返回一个值,常见的函数有:
函数 | 描述 |
---|---|
AVG( ) | 返回某列的平均值 |
COUNT( ) | 返回某列的行数 |
MAX( ) | 返回某列的最大值 |
MIN( ) | 返回某列的最小值 |
SUM( ) | 统计某列值的和 |
2、avg-求平均值
【知识点介绍】
AVG函数用来返回某列的平均值,它通过对列值之和求得该列的平均值。
【实例】
求植物专业学生的学分评价值。
返回的值是学分的平均值,条件是物理学学生。
SELECT AVG(Credit) FROM student
WHERE Major = 'Botany';
3、count-计数
【知识点介绍】
COUNT函数是计数函数,用来统计表中某列有多少行。
我们使用COUNT(*)会对表中行的所有数目进行计数,无论行数据是否为空。而使用COUNT(列)可以对某列进行行数统计,同样无视数据是否为空。
【实例】
查看学生表现在有多少个学生的数据。
(思考下学生表中什么值是不允许为空的)
ID 和SName在当初设计的时候是不允许空值的列。
SELECT COUNT(ID) FROM student;
4、max min-最大最小值
【知识点介绍】
MAX和MIN是返回列中的最大值和最小值,它们要求我们指定列名。
【实例】
查询学生表中最低或最高学分。
SELECT MIN(Credit) FROM student;
5、sum-总计
【知识点介绍】
SUM是用来返回列值的和(区分计数),适用于数字类型的数据,字符串的和总是返回0。
【实例】
统计女学生的学分。
使用SUM函数,条件子句是满足性别是女性。
SELECT sum(Credit) FROM student
WHERE Sex = 'Female';
6、关于HAVING
【知识点介绍】
聚集函数有个很大的问题,即它在WHERE语句中是无法使用的,比如我们要返回学生表中分数最低的学信息,我们不假思索会这样写:
SELECT * FROM student
WHERE Credit = MAX(Credit); -- 不被SQL支持
然后,这样在SQL中是不被支持的!
为了让聚集函数能在WHERE中被使用,SQL里增加了一个HAVING子句来替代WHERE的作用:
SELECT 某列, 聚集函数(某列) FROM 表
WHERE[子句]
GROUP BY 某列
HAVING 聚集函数(某列)[子句]
ORDER BY 某列;
注意语句中WHERE、GROUP BY、HAVING、ORDER BY的优先顺序。
【实例】
使用HAVING子句,统计各个专业的学分综合。
选择Major列和SUM(Credit)函数即可;
保险起见,SUM的结果大于0即可。
SELECT Major,SUM(Credit) FROM student
GROUP BY Major
HAVING SUM(Credit) > 0;
下文待续。。。。。。
欢迎大家前往访问我们的官网:
http://www.datanew.com/datanew/homepage
http://www.lechuangzhe.com/homepage