一道数据库关系代数题?

(4)题,我看网上的答案都是先选择了天津然后再减去,我这样做行么?我直接就<>(不等于)天津(5)题,我看不懂题目到底什么意思啊非常感谢,期末复习有点急

使用<>是可以的啊,只是效率低下,使用<>会导致全表查询,
第五题应该是工程使用的所有物料包含供应商S1的全部零件,甚至比这个还多的工程浩
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-05


(1)查询计算机系年龄小于等于20岁的学生姓名:

select SN from S where AGE<=20 and dept='计算机系'


(2)查询修读课程号为c1的所有学生的姓名:

select SN from S where S# in(select distinct S# from SC where C#=(
select C# from C where CN='c1'))


(3)查询修读课程名为JAVA的所有学生姓名

select SN from S where S# in(select distinct S# from SC where C#=(
select C# from C where CN='JAVA'))


(4)查询所有成绩都不及格的学生姓名

select SN from S where S# in
(
--以学号分组得到最小分数 having 过滤不及格的分数得到的学生ID!
select S# from(
--查询所有学生所有课程的分数
select *,isnull(GRADE,0) from (select S#,C# from S,C)temp  left join SC on temp.S#=SC.S# and temp.C#=SC.C#)  temp 
group by  S# having min(GRADE)<60  
)


案例如上:

希望能帮到你!





相似回答