数据应用达人之SQL基础教程分享10-SQL函数

SQL的函数很有用

2.函数

1、SQL的函数

【知识点介绍】

与大多数的计算机语言一样,SQL里也有函数(functions),它的函数一般是对数据执行的,为数据的转换和处理提供很强大、简介的作用。
它的使用在语法上可以表达为:

Sql代码 
  1. SELECT 函数(列) FROM 表;  

2、函数类型

【知识点介绍】

在SQL中,函数往往被分为两个类型:
1.Aggregate 函数,也被称为汇总函数或聚集函数,它的函数操作面向列的数据,并返回单一的值;
2.Scalar 函数,它的函数面向单一的值,返回基于该值操作后的单一的值。
这两种类型的具体内容,我们会在接下来的课程中一一介绍。



汇总数据的函数

3.Aggregate函数

1、什么是聚集函数

【知识点介绍】

聚集函数是对某些列的行数据进行计算,并返回一个值,常见的函数有:

函数 描述
AVG( )返回某列的平均值
COUNT( )返回某列的行数
MAX( )返回某列的最大值
MIN( )返回某列的最小值
SUM( )统计某列值的和

2、avg-求平均值

【知识点介绍】

AVG函数用来返回某列的平均值,它通过对列值之和求得该列的平均值。

【实例】

求植物专业学生的学分评价值。
返回的值是学分的平均值,条件是物理学学生。

Sql代码 
  1. SELECT AVG(Credit) FROM student  
  2. WHERE Major = 'Botany';  

 

3、count-计数

【知识点介绍】

COUNT函数是计数函数,用来统计表中某列有多少行。
我们使用COUNT(*)会对表中行的所有数目进行计数,无论行数据是否为空。而使用COUNT(列)可以对某列进行行数统计,同样无视数据是否为空。

【实例】

查看学生表现在有多少个学生的数据。
(思考下学生表中什么值是不允许为空的)
ID 和SName在当初设计的时候是不允许空值的列。

Sql代码 
  1. SELECT COUNT(ID) FROM student;  

 

4、max min-最大最小值

【知识点介绍】

MAX和MIN是返回列中的最大值和最小值,它们要求我们指定列名。

【实例】

查询学生表中最低或最高学分。

Sql代码 
  1. SELECT MIN(Credit) FROM student;  

 

5、sum-总计

【知识点介绍】

SUM是用来返回列值的和(区分计数),适用于数字类型的数据,字符串的和总是返回0。

【实例】

统计女学生的学分。
使用SUM函数,条件子句是满足性别是女性。

Sql代码 
  1. SELECT sum(Credit) FROM student  
  2. WHERE Sex = 'Female';  

 

6、关于HAVING

【知识点介绍】

聚集函数有个很大的问题,即它在WHERE语句中是无法使用的,比如我们要返回学生表中分数最低的学信息,我们不假思索会这样写:

Sql代码 
  1. SELECT * FROM student  
  2. WHERE Credit = MAX(Credit);  -- 不被SQL支持  

 

然后,这样在SQL中是不被支持的!
为了让聚集函数能在WHERE中被使用,SQL里增加了一个HAVING子句来替代WHERE的作用:

Sql代码 
  1. SELECT 某列, 聚集函数(某列) FROM 表  
  2. WHERE[子句]  
  3. GROUP BY 某列  
  4. HAVING 聚集函数(某列)[子句]  
  5. ORDER BY 某列;  

 

注意语句中WHERE、GROUP BY、HAVING、ORDER BY的优先顺序。

【实例】

使用HAVING子句,统计各个专业的学分综合。
选择Major列和SUM(Credit)函数即可;
保险起见,SUM的结果大于0即可。

Sql代码 
  1. SELECT Major,SUM(Credit) FROM student  
  2. GROUP BY Major  
  3. HAVING SUM(Credit) > 0;  

 

下文待续。。。。。。

 

欢迎大家前往访问我们的官网:

http://www.datanew.com/datanew/homepage

http://www.lechuangzhe.com/homepage

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值