现在学生选课相关的关系模式如下,请基于所给出的关系,完成所要求的查询。

现在学生选课相关的关系模式如下,请基于所给出的关系,完成所要求的查询。

学生(学号,姓名,年龄号)

S(Sno,Sname, Sage)

课程表(课程号, 课程名, 学分)

C(Cno, Cname, Ccredit)

选课表(学号,课程号,成绩)

SC(Sno, Cno, Grade)

1.查询选修国产数据库课程的学生名单,显示课程号、课程名、学号、姓名)

2.假设有C1和C2两张表,结构与课程表相同,数据分别如下,请设计实验验证并(UNION、UNION ALL)、交(INTERSECT)、差(EXCEPT)运算的结果。

【C1表中的数据】

1 C 3

2 Java 3

3 DS 3

【C2表中的数据】

1 C 3

2 C++ 3

3 DS 3


1select C.Cno,C.Cname,S.Sno,S.Sname
from C KC
left join SC XK
on KC.Cno = XK.Cno
left join S XS
on XK.Sno = XS.Sno 
where KC.Cname = '国产数据库' ;

2UNION
select Cno,Cname,Ccredit from C1
union 
select Cno,Cname,Ccredit from C2;

UNION ALL 
select Cno,Cname,Ccredit from C1
union all 
select Cno,Cname,Ccredit from C2;

INTERSECT 
select c1.Cno,c1.Cname,c1.ccredit from C1 c1
inner join C2 c2 
using (Cno);

EXCEPT 
select Cno,Cname,Ccredit from C1
where Cno not in (select Cno from C2);