dql聚合函数_聚合函数 SQL语句中聚合函数的使用

聚合函数是sql当中一个最基本的函数,sql距,那么就一定要接触到聚合函数的相关内容,那么聚合函数究竟是如何使用的呢?今天我们就一起来看一看sql语句当中的聚合函数使用方法吧。

聚合函数——SQL语句中聚合函数的使用

写上一个创建表的SQL语句.当然我下面的写法只支持SQLSERVER2008数据库以上的写法.

CREATETABLE学生表

学生IDINTIDENTITY(1,1)NOTNULL,

学号INTNULL,

期中分数INTNULL,

期末分数INTNULL

INSERTINTO学生表(学号,期中分数,期末分数)

VALUES,85,80),

(2,NULL,75),

(3,NULL,85),

(4,NULL),,80);

SELECT*FROM学生表;

一条查询语句,我们看到了刚才插入的全部结果.

我们来显示学生成绩中,期中考试分数最低的和期末考试分数最好的.

SELECTMIN(期中分数)AS期中最低分数,MAX(期末分数)AS期末最高分数FROM学生表;

我们来求一下期中考试分数的平均分数.

我们数据库里面一共有5条数据.

85,NULL,NULL,80,85

我们的结果是83分.

我们的聚合函数如果遇到NULL值的话,就会跳过去,不计算.

所以我们的结果是(85+80+85)/3=83!

查询学生表中有效的期末分数,得出的结果是3条.

SELECTCOUNT(期中分数)FROM学生表;

所以,大家一定要记得.聚合函数遇到空值会跳过去.

ORACLE优化SQL语句

一、执行顺序及优化细则

1.表名顺序优化(1)基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图:

(2)当出现多个表时,关联表被称之为交叉表,交叉表作为基础表

2.WHERE执行顺序WHERE执行会从至下往上执行摆放WHERE子句时,把能过滤大量数据的条件放在最下边

3.ISNULL和ISNOTNULL当要过滤列为空数据或不为空的数据时使用

4.使用表别名当查询时出现多个表时,查询时加上别名,避免出现减少解析的时间字段歧义引起的语法错误。

WHERE执行速度比HING快尽可能的使用WHERE代替HING

6.*号引起的执行效率尽量减少使用SELECT*来进行查询,当你查询使用*,数据库会进行解析并将*转换为全部列。

二、替代优化1、用>=替代>

2、用UNION替换OR(适用于索引列)

3、用IN代替OR

4、UNIONALL与UNIONUNIONALL重复输出两个结果集合中相同记录如果两个并集中数据都不一样.那么使用UNIONALL与UNION是没有区别的,

5、分离表和索引总是将你的表和索引建立在另外的表空间内决不要将这些对象存放到SYSTEM表空间里

三、一些优化技巧

1、计算表的记录数时  SELECTCOUNT(SI.STUDENT_ID)FROMSTUDENT_INFOSI(STUDENT_ID为索引)与SELECTCOUNT(*)FROMSTUDENT_INFOSI执行时.上面的语句明显会比下面没有用索引统计的语句要快

2.使用函数提高SQL执行速度

当出现复杂的查询SQL语名,可以考虑使用函数来提高速度查询学生信息并查询学生(李明)个人信息与的数学成绩排名如

4、用EXISTS(NOTEXISTS)代替IN(NOTIN)

在执行当中使用EXISTS或者NOTEXISTS可以高效的进行查询

以上就是聚合函数如何使用的所有内容,这些都是一些基础的知识点,如果大家还想更加深入的了解聚合函数,那么可以关注我们

推荐阅读

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值