想offer的第n天 2022-12-09 13:08 采纳率: 50%
浏览 24
已结题

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

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

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

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

  • 写回答

1条回答 默认 最新

  • AllenGd 领域专家: 大数据技术领域 2022-12-09 13:53
    关注
    
    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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 12月9日