日期:2014-05-18  浏览次数:20815 次

关于sql嵌套语句,请高手帮忙。谢谢~~~
表1s(s#,sn,sd,sa)   s#,sn,sd,sa分别是学号,姓名,单位,年龄     表2   c(c#,cn)   c#,cn分别是课程编号,课程名称     表3   sc(s#,c#,g)   s#,c#,g分别是学号,课程编号,学习成绩。如何建这三个表。   1使用sql嵌套查询选修课程名称为“税收基础”的学员学号和姓名。2使用sql嵌套查询不选修课程编号为‘c5’的学员姓名和单位。3使用sql嵌套查询选修全部课程的学员姓名和单位。

------解决方案--------------------
create table s
(
s# number(3) primary key,
sn char(10) ,
sd char(10),
sa number(2)
);

create table c
(
c# number(3) primary key,
cn char(10)
);
create table sc
(
s# number(3) references s,
c# char(10) references c,
g number(2);
primary key(s#,c#)
);

(1):
select s#,sn
from s
where s.s# in
(
select sc.s#
from sc
where sc.c# in
(
select c#
from c
where cn= "税收基础 "
)
);
(2)
select sn,sd
from s
where s.s# in
(
select sc.s#
from sc
where sc.c# != c5
);
(3)
select sn,sd
from s
where not exists
(
select *
from c
where not exists(
select *
from sc
where s# =s.s# and c# = c.c#
)
)