假设学生一课程数据库关系模式如下:
学生关系S(S#,SNAME,SEX,,AGE)
学习关系SC(S#,C#,GRADE)
课程关系C(C#,CNAME,TEACHER)
\用SQL语句实现如下查询
(1),查找课程名包含“数据库”的课程信息
(2)检索选修课程名称为“MATHS“的学生学号与姓名
(3)统计各学生选修的课程门数,输出学号和课程门数
用关系代数完成如下查询
(4)查找学号为03240115学生的姓名和年龄
(5)查询学生王芳的”数据库原理“课的成绩。
是不是要这样?
一个是要求用数据库语言实现,一个是要求用关系代数实现。
还有你用的a,b,c是什么,我是新手不是很明白,能不能不用a,b,c写一下答案。谢谢
抽了点时间去看了下这个关系代数问题,研究了下,应该是这样的,我怎么感觉我读书时没学过这东西呢,奇怪,难道上课没听。。。
(4)πSNAME,AGE(σS#='03240115'(S))
(5)πGRADE(πS#,GRADE(σCNAME='C语言'(C) ~ SC) ~ σSNAME='王芳'(S))
自然连接符打不出来,波浪号代替
你学习能力真强,看一下就会了,谢谢了。但那个a.b.c到底是什么啊,我好像不懂
追答简单说a,b,c的意思就是给表弄个简称,然后在查询语句中用简称代表原来的表名
比方说一个简单的查询语句
SELECT a.* FROM 表 a
这里a就是代表查询的表,a.*代表查表的所有字段
不用啊a,b,c的话,比方
SELECT S.[S#],S.SNAME FROM S
LEFT JOIN SC ON S.[S#] = SC.[S#]
LEFT JOIN C ON SC.[C#] = C.[C#]
WHERE C.CNAME = 'MATHS'