数据库系统查询操作练习题6-子查询、集合查询
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:
根据题目要求编写下列题目的代码,运行代码得出正确结果后把代码复制到题号的下面,最后在文件名前加上学号和姓名(例:55+张三+查询操作练习题6-子查询、集合查询),并提交文件到教师机。(各数据表参考教材中的教务管理数据库)
一、以下题目要求使用子查询实现:
1.查询任教01002课程的教师的姓名和性别。(分别用IN和EXISTS实现)
/* IN 方法*/
select tname,tsex from Teacher
where tno IN(select tno from teaching where cno ='01002')
/* EXISTS 方法*/
select tname,tsex from Teacher
where EXISTS(select*from teaching where cno ='01002'and= 2.查询“08软件”班的学生信息。(分别用IN和EXISTS实现)/* IN 方法*/
select*from student
where clno IN(select clno from class where clname ='08软件') /* EXISTS 方法*/
select*from student
where EXISTS(select*from class where clname ='08软件'and
=
3.查询“计算机系”男教师的姓名和职称。
select tname,tsex,ttitle from teacher
where tsex='男'and dno IN(select dno from department where dname ='计算机系')
4.查询任教“计算机网络”课程的教师的姓名、性别和职称。select tname,tsex,ttitle from teacher
where EXISTS(select*from teaching
where EXISTS(select*from course
where cname ='计算机网络'and=
and=
5.查询“计算机系”教师所教的课程名。
select cname from course where cno in
(select cno from teaching where tno in
(select tno from teacher where dno in
(select dno from department where dname ='计算机系')))
6.查询哪些教师没有授课任务,显示其姓名、性别和职称。select tname,tsex,ttitle from teacher where tno not in (select tno from teaching)
7.查询基本工资大于所有岗位津贴的教师的姓名、职称和基本工资
select tname,ttitle,jbgz from teacher where jbgz >all (select jt from teacher )
二、以下题目要求使用集合查询实现:
1.查询职称是“教授”或“副教授”的教师的姓名和职称。select tname,ttitle from teacher where ttitle ='教授' union
select tname,ttitle from teacher where ttitle ='副教授' 2.查询职称是“教授”且是“计算机系”的教师的姓名。select tname,ttitle from teacher where tname='教授' intersect
select tname,ttitle from teacher where dno in
(select dname from department where dname ='计算机系')
3.查询哪些课程没有任课教师,显示其课程号。
select cno from course
except
select tno from teaching