数据库第9章查询练习题目有答案.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档 精品文档 PAGE PAGE10 精品文档 PAGE 第九章习题 分组查询练习 a). 基于“生源情况”表,统计不同姓的人数, 列出:姓、人数, 结果按人数降序排序。(先统计所有学生的人数) SELECTleft( 姓名,1)as 姓,count(*)as 人数 FROM生源情况 groupbyleft( 姓名,1) ORDERBYcount(*)DESC b). 基于“生源情况”表,按地区分类统计入学成绩的平均值、 最大值、最小值,并按平均值降序排列。 先统计所有入学成绩 的的平均值、最大值、最小值) SELECT地区,avg(入学成绩)as 平均值,max(入学成绩)as 最大值,min(入学成绩)as 最 小值 FROM生源情况 groupby 地区 ORDERBYavg(入学成绩)DESC c). 基于“生源情况”表,找出年龄平均值最高的班级。 (提示: 先按班级名称统计每个班级的平均年龄,再找年龄的最大值) SELECTTOP1班级名称,AVG(year(date())-year( 出生日期))as 平均年龄 FROM生源情况 GROUPBY班级名称 ORDERBYAVG(year(date())-year( 出生日期))DESC d). 基于“生源情况”表,列出学生人数少于 100的地区。 select 地区,count(*)as 学生人数 from 生源情况 groupby 地区 havingcount(*)<100 联接查询练习 a). 列举学号为“ 6”的同学所参加的考试的场次、教室和课程 名称。 select 场次,教室,课程名称 from 学生考试 innerjoin 课程on 学生考试.课程编号=课程.课程编号 where学号="6" 或 select 场次,教室,课程名称 from 学生考试,课程 where学号="6"and 学生考试.课程编号=课程.课程编号 b). 列举学号为“ 6”的同学所参加的每场考试的监考教师的姓 名。 select 姓名 from( 学生考试innerjoin 教师监考 on 学生考试.场次=教师监考.场次and 学生考试. 课程编号=教师监考.课程编号 and 学生考试.教室=教师监考.教室)innerjoin 教师on 教师监考.教师编号=教师.教师编号 where学号="6" 或 select 姓名 from 学生考试,教师监考,教师 where学号="6"and 学生考试.场次=教师监考.场次 and学生考试.课程编号=教师监考.课程编号 and 学生考试.教室=教师监考.教室 and教师监考.教师编号=教师.教师编号 c). 列举来自“浙江”的学生的所在学院名称、班级名称、学号 和姓名。 SELECT学院名称, 班级名称, 学号, 姓名 FROM(学院INNERJOIN 班级ON学院.学院编号 = 班级.学院编号)INNERJOIN 学生ON 班级.班级编号 = 学生.班级编号 WHERE地区="浙江" 或 SELECT学院名称, 班级名称, 学号, 姓名 FROM学院,班级,学生 WHERE地区="浙江"and 学院.学院编号= 班级.学院编号 and 班级.班级编号 = 学生.班 级编号 d). 查询“梁子平”同学所在班级的学生人数。 SELECT班级人数 FROM班级INNERJOIN 学生ON班级.班级编号= 学生.班级编号 WHERE姓名="梁子平" 或 SELECT班级人数 FROM班级,学生 WHERE姓名="梁子平"and 班级.班级编号 = 学生.班级编号 或 selectcount(*) from 学生 where班级编号in(SELECT 班级编号 from 学生WHERE姓名="梁子平") 或 select 班级人数 from 班级 where班级编号in(SELECT 班级编号 from 学生WHERE姓名="梁子平") 子查询 a). 找出与学号“6”的学生同学院且同年出生的学生。 先作这个查询,学院编号为” 01”和1991出生的学生信息 select 学生.* from 学生innerjoin 班级on 学生.班级编号=班级.班级编号 where学院编号="01"andyear( 出生日期)=1991 第一步:先找到该同学所在学院的编号 select 学院编号 from 班级 where班级编号in(select 班级编号 from 学生where 学号="6") 第二步:找到年份 SELECTyear(出生日期)from 学生where 学号="6" 第三步:多表连接 select 学生.* from 学生innerjoin 班级on 学生.班级编号=班级.班级编号 where学院编号in( select 学院编号 f

文档评论(0)

151****9732 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档