- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6次多表查询.doc
第6次 多表查询
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 条件 ORDER BY 字段名 ASC或DESC
在“字段1,字段2,...,字段n”中可以出现count(*),count(列名),sum(列名),avg(列名),MAX(列名),MIN(列名),STDDEV(列名)标准差,VARIANCE(列名)方差即每个值离均值的差。
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 条件 GROUP BY 分组字段名
使用这些统计函数时,需要加上分组表达式“GROUP BY 字段名”,同组数据相加、求均值等。
结果如下图所示,上方为已经执行的语句,下方为结果。如果结果超过一屏,只截一屏。!!!!
1、超过平均值10分以上
SELECT * FROM scoreorigin WHERE endscore-(select avg(endscore) from scoreorigin)10
相关练习:请将运算符号换成,=, = = != not (a=b),比平均分低5分,与平均分的差正负5分之内。
2、等于最高分,
SELECT * FROM scoreorigin WHERE endscore=(SELECT max(endscore) FROM scoreorigin)
相关练习:Endscore换成其他字段,=换成,=, = = != not (a=b)。比最高分低5分。
3、等于最低分,
SELECT * FROM scoreorigin WHERE endscore=(SELECT min(endscore) FROM scoreorigin)
相关练习:Endscore换成其他字段,=换成,=, = = != not (a=b)。比最低分高5分。
4、等于姓名最大者
SELECT * FROM scoreorigin WHERE studname=(SELECT max(studname) FROM scoreorigin)
5、改写如下例题
以下4个查询获取最大和、平均值、最大值、最小值
select sum(middlescore) from scoreorigin
SELECT avg(middlescore) FROM scoreorigin
SELECT max(middlescore) from scoreorigin
SELECT min(middlescore) FROM scoreorigin
以下兰色的字是查询的整体语句,红色的字是分别计算总和、最大值、最小值、平均值的子查询,它可以出现在SELECT部分,也可以出现在WHERE部分。
SELECT id,studno,studname,deptname,teachername, coursename, middlescore, (select sum(middlescore) from scoreorigin),(SELECT max(middlescore) from scoreorigin) FROM scoreorigin
WHERE middlescore(SELECT min(middlescore) FROM scoreorigin) AND middlescore(SELECT avg(middlescore) from scoreorigin)
相关练习:
在显示每个人流水号、学号、姓名、学院名称、老师名称、课程名称、期中考试成绩的同时,显示期中考试的平均分、最小分数,WHERE后面的条件是:期中成绩与期中考试的平均成绩上下相关6.
在显示每个人流水号、学号、姓名、期末成绩、总评分数、课程名称、期中考试成绩的同时,显示期中考试的平均分、最小分数,WHERE后面的条件是:期中成绩与期中考试的平均成绩上下相关6.
在显示每个人流水号、学号、姓名、学院名称、老师名称、课程名称、期中考试成绩的同时,显示期末考试的平均分、期末最小分数,WHERE后面的条件是:总评成绩与总评考试的平均成绩上下相关6.
在显示每个人流水号、学号、姓名、期中成绩、总评分数、课程名称、期中考试成绩的同时,显示测试考试2的平均分、最小分数,WHERE后面的条件是:测试成绩2与期中考试的平均成绩上下相关6.
= != = =
以上样例的子查询的结果只有一个值。
6、改写如下练习题
SELECT * FROM scoreorigin WHERE studno in (SELECT studno FROM scoreorigin WHERE NOT (deptname like %新%) )
相关练习:红色字段可以换成其11个字段之一,兰色的条件中dep
文档评论(0)