为管理岗位业务培训信息,建立3个表:
S (SID,SN,SD,SA) SID,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (CID,CN ) CID,CN 分别代表课程编号、课程名称
SC ( SID,CID,G ) SID,CID,G 分别代表学号、所选修的课程编号、学习成绩
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
-----选修课程名为‘税收基础’的学员学号和姓名
select sid,sn from s where sid in(select sid from c,sc where c.cid=sc.cid and cn='税收基础')
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
---选修课程编号为‘c2’的姓名和单位
select sn,sd from s,sc where s.sid=sc.sid and cid='c2'
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
-----选修全部课程的姓名和部门
select sn,sd from (select A.sid from ((select sid,count(sid) as cc from sc group by sid) as A inner join (select count(*) as cc from c) as B on A.cc=B.cc)) as C left join s on s.sid=C.sid
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
---不选修课程编号为‘c5’的学员姓名和单位
select sn,sd from s where sid not in (select sid from sc where cid='c5')
5. 查询选修了课程的学员人数
----选修课程的学员人数
select count(distinct sid) from sc
6. 查询选修课程超过5门的学员学号和所属单位
---选修课程超过5门的学员姓名和单位
select sn,sd from s
where sid in (select sid from sc group by sid having count(distinct cid)>5)