SQL查询试验.doc.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL查询试验.doc

table student ( ?? 学号 char(3) primary key, ?? 姓名 char(4), ?? 性别 char(2), ?? 年龄 int, ?? 班级 char(5) ); /*2:建立教师表*/ table teacher( ?? 教师号 char(3) primary key, ?? 姓名 char(4), ?? 性别 char(2), ?? 年龄 int , ?? 级别 char(6), ?? 专业 char(8) ); /*3:建立课程表*/ table course ( ?? 课程号 char(5) primary key, ?? 课程名 char(10), ?? 教师号 char(3), ??/*4:建立选课表*/ create table sc( ?? 学号 char(3), ?? 课程号 char(5), ?? primary key(学号,课程号), ?? 成绩 int, ??); /*5:所有表内容*/ select * from student; select * from course; select * from teacher; select * from sc; 所有表信息如下: student(学生)表 course(课程)表 teacher(教师)表 sc(选课)表 作业题: 2.查询成绩为85、86或88的记录。 注释:用于制定某个集合使用 in 关键字,也可以使用 or 连接符; 答案: 法1:select * from sc where 成绩=85 or 成绩=86 or 成绩=88; 法2:select * from sc where 成绩 in(85,86,88); 3.查询95031班的学生人数。 注释:count(*)用于计算结果总数; 答案: select count(班级) as 学生人数 from student where 班级=95031; 4.查询最低分大于70,且最高分小于90的学号列。 注释:having后面跟聚合函数:avg,min,max,count;having语句只能跟在:group by语句后面; 答案: select 学号,min(成绩)as 最低分,max(成绩)as 最高分 from sc group by 学号 having min(成绩)70 and max(成绩) 90; 5.查询至少有5名学生选修并以3开头的课程的平均成绩。 注释:group by 语句置于where语句后面表示根据什么条件来分组; 答案: select avg(成绩) as 平均成绩 from sc where 课程号 like 3% group by 课程号 having count(课程号) = 5; 8.以选修 3-105为例,查询成绩高于109号同学的所有同学的记录。 注释:此题使用典型的嵌套查询,层层深入; 答案: select * from student where 学号 in (select 学号 from sc where 课程号=3-105 and 成绩 (select 成绩 from sc where 学号=109 and 课程号=3-105)); 10.查询张旭教师任课的课程号,选修其课程学生的学号和成绩。 注释:此题使用了表的连接:inner join,将多个表连接在一起组成一个新的表,标的连接的条件是必须存在相同的列; 答案: 法1:select 课程号 from course where 教师号=(select 教师号 from teacher where 姓名=张旭); select 学号,成绩 from sc where 课程号 in(select 课程号 from course where 教师号 in (select 教师号 from teacher where 姓名=张旭)); 法2:select teacher.姓名 as 教师姓名,course.课程号,student.姓名 as 学生姓名,student.学号,成绩 from? teacher inner join (course inner join (sc inner join student on student.学号=sc.学号) on course.课程号=sc.课程号) on course.教师号=teacher.教师号 where? teacher.姓名=张旭;

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档