数据库(2)--加深对统计查询的理解,熟练使用聚合函数
创始人
2024-05-25 21:53:57
0

一、内容要求

利用sql建立学生信息数据库,并定义以下基本表:

学生(学号,年龄,性别,系号)

课程(课号,课名,学分,学时)

选课(学号,课号,成绩)

根据上面基本表的信息完成下列查询:

(1)查询选修了数据库原理的学生的人数和平均成绩。

(2)查询选修3门课 以上的学生姓名。

(3)列出人数超过1000人的系名。

(4)查询所有课程都及格的学生姓名。

二、代码 

(1)查询选修了数据库原理的学生的人数和平均成绩

select count(*)
from xe
where cnum='03';select AVG(grade)
from xe
where cnum='03'

(2)查询选修3门课 以上的学生姓名。

select sno
from xe 
group by sno
having count(*)>3

(3)列出人数超过1000人的系名

select sdept
from stu
group by sdept
having count(*)>1000

(4)查询所有课程都及格的学生姓名

select distinct sname
from xe
where grade>60

 三、结果分析

 (1)查询选修了数据库原理的学生的人数和平均成绩

(2)查询选修3门课 以上的学生姓名

 (3)列出人数超过1000人的系名

(4)查询所有课程都及格的学生姓名

SELECT语句的含义是:根据WHERE子句的条件表达式从FROM子句指定的基本表、视图或派生表中找出满足条件的元组,再按SELECT子句中的目标列表达式选出元组中的属性值形成结果表。

同时为了进一步方便用户,增强检索功能,SQL提供了许多聚集函数,主要有:

COUNT(*) 统计元组个数
COUNT( [DISTINCT|ALL] <列名>) 统计- -列中值的个数
SUM( [DISTINCT|ALL] <列名>) 计算一列值的总和 (此列必须是数值型)
AVG( [DISTINCT|ALL] <列名>) 计算一列值的平均值 (此列必须是数值型)
MAX( [DISTINCT|ALL] <列名>) 求一列值中的最大值
MIN( [DISTINCT|ALL] <列名>) 求列值中的最小值

四、小结

        在使用聚集函数时,如果指定DISTINCT 短语,则表示在计算时要取消指定列中的重复值。如果不指定STINCT短语或指定ALL短语(ALL为默认值),则表示不取消重复值。

        用户可以用ORDER BY子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,默认值为升序。对于空值,排序时显示的次序由具体系统实现来决定。例如按升序排,含空值的元组最后显示;按降序排,空值的元组则最先显示。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...