全部科目 > 数据库系统工程师 >
2019年上半年 上午试卷 综合知识
第 43 题
知识点 分组查询   聚集函数   集函数  
关键词 表达式   函数  
章/节 数据库标准语言—SQL  
 
 
分组查询结果进行筛选的是( ),其条件表达式中可以使用集函数
 
  A.  WHERE子句
 
  B.  GROUP BY子句
 
  C.  HAVING子句
 
  D.  ORDER BY子句




 
 
相关试题     数据库标准语言—SQL 

  第40题    2018年上半年  
给定教师关系 Teacher(T_no, T_name, Dept_name, Tel),其中属性T_no、T_name、Dept_name和Tel的含义分别为教师号、教师姓名、学院名和电话。用SQL创建一个&l..

  第43题    2023年上半年  
对于不包含子查询的SELECT语句,聚集函数不允许出现的位置是()。

  第41题    2014年上半年  
假定某企业根据2014年5月员工的出勤率、岗位、应扣款得出的工资表如下:

 
知识点讲解
· 分组查询
· 聚集函数
· 集函数
 
        分组查询
               GROUP BY子句
               在WHERE子句后面加上GROUP BY子句可以对元组进行分组,保留字GROUP BY后面跟着一个分组属性列表。最简单的情况是FROM子句后面只有一个关系,根据分组属性对它的元组进行分组。SELECT子句中使用的聚集操作符仅用在每个分组上。
               该语句是将SC关系的元组重新组织,并进行分组使得不同学号的元组分别被组织在一起,最后求出各个学生的平均值输出。
               HAVING子句
               假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY子句后面跟一个HAVING子句即可。
               注意:当元组含有空值时,应该记住以下两点。
               (1)空值在任何聚集操作中被忽视。它对求和、求平均值和计数都没有影响。它也不能是某列的最大值或最小值。例如,COUNT(*)是某个关系中所有元组数目之和,但COUNT(A)却是A属性非空的元组个数之和。
               (2)NULL值又可以在分组属性中看作是一个一般的值。例如,SELECT A,AVG(B)FORM R中,当A的属性值为空时,就会统计A=NULL的所有元组中B的均值。
               根据题意“某工程至少用了三家供应商(包含三家)供应的零件”,应该按照工程号分组,而且应该加上条件供应商的数目。但是需要注意的是,一个工程项目可能用了同一个供应商的不同零件,因此,在统计供应商数的时候需要加上DISTINCT,以避免重复统计导致错误的结果。例如,按工程号Jno='J1'分组,其结果如下表所示。如果不加DISTINCT,统计的结果数为7;而加了DISTINCT,统计的结果数为5。
               
               按工程号Jno='J1'分组
 
        聚集函数
        聚集函数是一个值的集合为输入,返回单个值的函数。SQL提供了5个预定义集函数:平均值avg、最小值min、最大值max、求和sum以及计数count。如下表所示。
        
        集函数的功能
        使用ANY和ALL谓词必须同时使用比较运算符,其含义及等价的转换关系如下表所示。用集函数实现子查询通常比直接用ALL或ANY查询效率要高。
        
        ANY、ALL谓词含义及等价的转换关系
        说明:方法2实际上是找出计算机系年龄最小的学生的年龄,只要其他系的学生年龄比这个年龄小,那么就应在结果集中。
 
        集函数
        常用的集函数主要有:
        .COUNT([DISTINCT|ALL]*):统计元组个数。
        .COUNT([DISTINCT|ALL]<列名>):统计一列中值的个数。
        .SUM([DISTINCT|ALL]<列名>):计算一列值的总和(必须是数值型)。
        .AVG([DISTINCT|ALL]<列名>):计算一列值的平均值(必须是数值型)。
        .MAX([DISTINCT|ALL]<列名>):求一列值中的最大值。
        .MIN([DISTINCT|ALL]<列名>):求一列值中的最小值。
        集函数只能在SELECT子句和HAVING子句中使用,其他子句中不能使用集函数。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有