说明:
根据题目要求编写下列题目的代码,运行代码得出正确结果后把代码复制到题号的下面,最后在文件名前加上学号和姓名(例:2013111055+张三+查询操作练习题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 teacher.tno=teaching.tno) 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 student.clno = class.clno) 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 teaching.cno=course.cno) and teacher.tno=teaching.tno) 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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库系统查询操作练习题6-子查询、集合查询在线全文阅读。
相关推荐: