关系代数

本文深入探讨了使用SQL进行复杂查询的方法,包括联接操作、选择条件、分组与聚合等,通过具体示例展示了如何获取学生选课详情、课程选修情况、学生选课分析及成绩统计,适合数据库管理和数据分析师阅读。

1 查询所有学生的选课情况,包含学号、姓名、性别、课程号、课程名;

∏Sno,Sname,Ssex,Cno,Cname(S⟕Sc⋈C)\prod _{Sno,Sname,Ssex,Cno,Cname}(S⟕Sc⋈C)Sno,Sname,Ssex,Cno,Cname(SScC)

2 查询所有课程的选修情况,包含课程号、课程名、学号、姓名、性别;

∏Cno,Cname,Sno,Sname,Ssex(S⋈Sc⟖C)\prod _{Cno,Cname,Sno,Sname,Ssex}(S⋈Sc⟖C)Cno,Cname,Sno,Sname,Ssex(SScC)

3 查询所有学生选课及课程被选修的情况;

∏Sno,Sname,Ssex,Cname,Cno(S⟗Sc⟗C)\prod _{Sno,Sname,Ssex,Cname,Cno}(S⟗Sc⟗C)Sno,Sname,Ssex,Cname,Cno(SScC)

4 查询选修了所有课程的学生学号、姓名、性别;

∏Sno,Sname,Ssex((∏Sno,Cno(Sc)÷∏Cno(C))⋈S)\prod _{Sno,Sname,Ssex}((\prod _{Sno,Cno}(Sc) \div \prod _{Cno}(C))⋈S)Sno,Sname,Ssex((SnoCno(Sc)÷Cno(C))S)

5 查询被所有学生选修的课程号、课程名;

∏Cno,Cname((∏Cno,Sno(Sc)÷∏Sno(S))⋈C)\prod _{Cno,Cname}((\prod _{Cno,Sno}(Sc) \div \prod _{Sno}(S))⋈C)Cno,Cname((Cno,Sno(Sc)÷Sno(S))C)

6 查询选修了“王敏”同学所选修的所有课程的学生学号、姓名、性别;

∏Sno,Sname,Ssex((∏Sno,Cno(Sc)÷∏Cno(σSname=′王敏′(S)⋈Sc))⋈S)\prod _{Sno,Sname,Ssex}((\prod _{Sno,Cno}(Sc) \div \prod _{Cno}(σ_{Sname='王敏'}(S)⋈Sc))⋈S)Sno,Sname,Ssex((Sno,Cno(Sc)÷Cno(σSname=(S)Sc))S)

7 查询“王敏”同学选修课程的总学分、课程数量、平均成绩;

SnoGsumCcredit,countCno,avgGrade(σSname=′王敏′(S)⋈Sc⋈S)_{Sno}G{sum_{Ccredit,}count_{Cno},avg_{Grade}}(σ_{Sname='王敏'(S)⋈Sc⋈S})SnoGsumCcredit,countCno,avgGrade(σSname=(S)ScS)

8 查询“王敏”同学选修课程的课程数量;

countcno(σSname=′王敏′(S)⋈Sc)count_{cno}(σ_{Sname='王敏'}(S)⋈Sc)countcno(σSname=(S)Sc)

9 查询“王敏”同学选修课程的平均成绩;

avgGrade(σSname=′王敏′(S)⋈Sc)avg_{Grade}(σ_{Sname='王敏'}(S)⋈Sc)avgGrade(σSname=(S)Sc)

10 查询每位同学选修课程的总学分、课程数量、平均成绩。

SnoGsumCcredit,countCno,avgGrade(S⟕Sc⋈C)_{Sno}G{sum_{Ccredit,}count_{Cno},avg_{Grade}}(S⟕Sc⋈C)SnoGsumCcredit,countCno,avgGrade(SScC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值