- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统与应用教程(刘金岭)实验五参考答案
实验四 简单查询和连接查询
2. 简单查询实验
用Transact-SQL语句表示下列操作,在“学生选课“数据库中实现其数据查询操作:
(1) 查询数学系学生的学号和姓名。
select sno,sname
from S
where Sdept=MA
(2) 查询选修了课程的学生学号。
select distinct(sno)
from sc;
(3) 查询选修课程号为‘C2’的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
select distinct(sno),grade
from sc
where cno=C2
order by grade desc,sno asc;
(4) 查询选修课程号为‘C2’的成绩在80-90 分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。
select distinct(sno),grade*0.8 as sore
from sc
where cno=C2 and grade between 80 and 90;
(5) 查询数学系(MA)或计算机科学系(CS)姓张的学生的信息。
select *
from S
where dept in (MA,CS)and sname like 张% ;select sno,cno
from sc
where grade is null;
3. 连接查询实验
用Transact-SQL语句表示,并在“学生选课”数据库中实现下列数据连接查询操作:
(1) 查询每个学生的情况以及他(她)所选修的课程。
select S.*,C.cname
from S JION sc ON s.sno=sc.sno JION c ON sc.cno=c.cno
(2) 查询学生的学号、姓名、选修的课程名及成绩。
select s.sno,sname,cname,grade
from S JION sc ON s.sno=sc.sno JION c ON sc.cno=c.cno
(3) 查询选修‘离散数学’课程且成绩为90 分以上的学生学号、姓名及成绩。
select s.sno,sname,grade
from S JION sc ON s.sno=sc.sno and grade=90 JION c ON sc.cno=c.cno and cname=离散数学select first.cno,second.pcno
from c as first JOIN c as second ON first.pcno=second.cno
4. 嵌套查询
用TransacTransact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作:
(l) 查询选修了“离散数学”的学生学号和姓名。
select sno,sname
from student
where sno in
(select sno
from sc
where cno=
(select cno
from course
where cname=离散数学));elect sno,grade
from sc
where cno=C2 and grade
(select grade
from sc
where cno=C2 and sno=(select sno
From s
Where sname=张林));select *
from s
where SdeptCS and age(select max(age)
from s
where Sdept=CS);
(4) 查询其他系中比计
文档评论(0)