SQL关系代数,求至少选修了两门以上课的学生的学号,用关系代数写出来。

2025-03-24 07:37:55
推荐回答(5个)
回答1:

代码入戏:

use hngy

go

/*查询至少选修两门课程的学生学号*/

select StuNO,count(CNO)  选修门数 from SC

group by StuNO

having count(CNO)>=2

go

扩展资料

关系代数的运算有集合运算(集合<表>与集合<表>之间的运算)和关系运算(集合<表>内部的运算)集合运算:并运算:  R U S              差运算:  R - S                 交运算:   R  ∩ B            笛卡儿积: R  x  S  (组合运算)。

并,交,差(是对各集合元组的重新组合;要求:参加集合操作的各结果表的列数必须相同,对应项的数据类型也必须相同)

关系运算:

选择  ,       σF(R)={t|t∈R∧F(t)=True}σF(R)={t|t∈R∧F(t)=True}                ------水平分割表

投影  ,       πA(R)={t[A]|t∈R}πA(R)={t[A]|t∈R}                                         -------垂直分割表

连接 【/* 这里是比较运算符 */,为大于,小于的连接叫比较连接,为等于的连接叫等值连接,自然连接 ⋈ /*它是等值连接的特殊情况,结果集中公共的属性只保留一个------去除重复列。

两表关联,外键主建出现在同一集合里(外键和主键就是重复的列,要去除一列),2*/自然,   =   σ XθY(R×S),扩展的还有外连接 】

回答2:

study(sno,cno,score)查询至少选修了两门课程的学生学号:π1(σ(1=4Λ2!=5)(study x study))

回答3:

∏1(σ1=4∧2<>5(SCXSC))

回答4:

select xuehao,count(kch) as 选修门数 from cjb group by xuehao having count(kch)>2

回答5:

问问不行了~~没高手~~以后别在这提问了