关系代数查询最高成绩
A. 数据库关系代数求最大值
填坑。
逻辑:
先筛选出所有3班的学生(后面说学生表都指的是这个筛选后的结版果,不做赘述)。将这张权表与自己内连接,筛选条件是左边学生的成绩小于右边学生的成绩,这样得到的新的表中左边就是”‘存在另一个学生的成绩比他好’的学生“,再用3班所有的学生表减去这个新得到的表,就是”‘不存在另一个学生的成绩更好’的学生“,也就是”成绩最好的学生了“。
关系代数:
用来演示的数据库:
很明显,得到的结果跟预想中的一致,是Derta酱。也就说明我们的表达式没有问题了。
B. 求助一关系代数表示查询操作(考研题)
select sno from (select top 1 * from G where cno='C001' order by grade desc)
C. 求解数据库关系代数查询
1.select 系别,年龄 from table where 学号 = '99011'
2.select 学生name, 课程名专 from table where 成绩属<60
3.select 学生名 from table where 课程名= '计算机' and 成绩<60
4select 成绩 from table where 学生名 = '数据库原理'
D. 在student数据库中用关系代数表达式检索“数据库原理”课程成绩高于90分的学生的学号、姓名、专业和分数;
这个跟数据库表的设抄计有袭关,你的问题应该设计3个表,一个是学生表(学号,姓名,专业),一个是课程表(课程代号,课程名),还有一个是成绩表(学号,课程代号,分数),那么所求问题的SQL语句是:
SELECT A.学号,A.姓名,A.专业,C.分数 FROM 学生表 A,课程表 B,成绩表 C WHERE A.学号=C.学号 AND B.课程名="数据库原理" AND B.课程代号=C.课程代号 AND C.分数〉90
E. 用关系代数和SQL语言完成查询操作
分少,而且没有挑战性.最好自己把简单的做了,有难度的再求助.
F. 求高手做一题目 数据库 关系代数
(1)查询计算机系年龄小于等于20岁的学生姓名:
selectSNfromSwhereAGE<=20anddept='计算机系'
(2)查询修读课程号为c1的所有学生的姓名:
selectSNfromSwhereS#in(selectdistinctS#fromSCwhereC#=(
selectC#fromCwhereCN='c1'))
(3)查询修读课程名为JAVA的所有学生姓名
selectSNfromSwhereS#in(selectdistinctS#fromSCwhereC#=(
selectC#fromCwhereCN='JAVA'))
(4)查询所有成绩都不及格的学生姓名
selectSNfromSwhereS#in
(
--以学号分组得到最小分数having过滤不及格的分数得到的学生ID!
selectS#from(
--查询所有学生所有课程的分数
select*,isnull(GRADE,0)from(selectS#,C#fromS,C)templeftjoinSContemp.S#=SC.S#andtemp.C#=SC.C#)temp
groupbyS#havingmin(GRADE)<60
)
案例如上:
希望能帮到你!
G. 数据库关系代数表达式查询选修总分超过200分的学生号码。只有单科成绩,没有总成绩。怎么查询。
1,πsno,sname(σ height>‘1.8米’ (S))
2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))
3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?回我用join代替)join SC join S))
4,πsno,sname(σ grade>=‘90’ (S join SC))
5πsname(σ credit>‘3’(答C join S)
家庭作业吗? 根据书本比葫芦画瓢都能做出来
H. 在student数据库中用关系代数表达式检索“数据库原理”课程成绩高于90分的学生的学号、姓名、专业和分数
这个跟数据库表的设计有关,你的问题应该设计3个表,一个是学生表(学号,姓回名答,专业),一个是课程表(课程代号,课程名),还有一个是成绩表(学号,课程代号,分数),那么所求问题的SQL语句是:
SELECT
A.学号,A.姓名,A.专业,C.分数
FROM
学生表
A,课程表
B,成绩表
C
WHERE
A.学号=C.学号
AND
B.课程名="数据库原理"
AND
B.课程代号=C.课程代号
AND
C.分数〉90
I. 数据库的关系代数问题
[例]设教学数据库中有3个关系:
学生关系S(SNO,SNAME,AGE,SEX)
学习关系SC(SNO,CNO,GRADE)
课程关系C(CNO,CNAME,TEACHER)
下面用关系代数表达式表达每个查询语句。
(1) 检索学习课程号为C2的学生学号与成绩。
πSNO,GRADE(σ CNO='C2'(SC))
(2) 检索学习课程号为C2的学生学号与姓名
πSNO,SNAME(σ CNO='C2'(SSC))
由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。
此查询亦可等价地写成:
πSNO,SNAME(S)(πSNO(σ CNO='C2'(SC)))
这个表达式中自然连接的右分量为"学了C2课的学生学号的集合"。这个表达式比前一个表达式优化,执行起来要省时间,省空间。
(3)检索选修课程名为MATHS的学生学号与姓名。
πSNO,SANME(σ CNAME='MATHS'(SSCC))
(4)检索选修课程号为C2或C4的学生学号。
πSNO(σ CNO='C2'∨CNO='C4'(SC))
(5) 检索至少选修课程号为C2或C4的学生学号。
π1(σ1=4∧2='C2'∧5='C4'(SC×SC))
这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。
希望能解决您的问题。
J. 数据库系统,关系代数查询问题
[例]设教学数据库中有3个关系:
学生关系S(SNO,SNAME,AGE,SEX)
学习关系SC(SNO,CNO,GRADE)
课程关系C(CNO,CNAME,TEACHER)
下面用关系代数表达式表达每个查询语句。
(1) 检索学习课程号为C2的学生学号与成绩。
πSNO,GRADE(σ CNO='C2'(SC))
(2) 检索学习课程号为C2的学生学号与姓名
πSNO,SNAME(σ CNO='C2'(SSC))
由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。
此查询亦可等价地写成:
πSNO,SNAME(S)(πSNO(σ CNO='C2'(SC)))
这个表达式中自然连接的右分量为"学了C2课的学生学号的集合"。这个表达式比前一个表达式优化,执行起来要省时间,省空间。
(3)检索选修课程名为MATHS的学生学号与姓名。
πSNO,SANME(σ CNAME='MATHS'(SSCC))
(4)检索选修课程号为C2或C4的学生学号。
πSNO(σ CNO='C2'∨CNO='C4'(SC))
(5) 检索至少选修课程号为C2或C4的学生学号。
π1(σ1=4∧2='C2'∧5='C4'(SC×SC))
这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。