[SQL]关系代数简单综合训练(包含讲解)

本博文源于中国人民大学的《数据库系统概论(基础篇)》.话不多说,先熟悉表结构!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例 查询至少选修1号课程和3号课程的学生号码

拿到题目,不要慌张,先分析,用到什么表,很显然用了Sc表。如果会写sql的同学,秒写语句,但是写个关系代数,那就用个除运算,先把所有1号和3号找出,最后把它投影出来,因此先建造临时关系表
在这里插入图片描述
两个表做除运算的投影
在这里插入图片描述
打完收工!

例 查询选修了2号课程的学生的学号

在这里插入图片描述
这道题目跟楼上类似,但是只有一个2,那就没必要做除运算,那就直接在cno搜索2呗,然后再把他们筛选出来。思路是:先连接后投影

在这里插入图片描述

查询至少选修了一门其直接先行课为5号课程的学生姓名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
很明显这是sql的多表查询,美其名曰跨表,那我们先把他们做连接,然后选择,最后投影出来。
在这里插入图片描述
当题目讲到这里的时候,选择、连接、投影是关系上面做运算的最常用的方式。

发布了137 篇原创文章 · 获赞 30 · 访问量 8819

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/105683849