数据库查询是数据库的核心操作,SQL提供了SELECT语句进行数据库的查询,其一般格式如下: SELECT[ALLlDISTINCT][,]... FROM[,]... [WHERE] [GROUP BY[HAVING]] [ORDER BY[ASCIDE

admin2017-11-09  41

问题 数据库查询是数据库的核心操作,SQL提供了SELECT语句进行数据库的查询,其一般格式如下:
SELECT[ALLlDISTINCT]<目标列表达式>[,<目标列表达式>]...
FROM<表名或视图名>[,<表名或视图名>]...
[WHERE<条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASCIDESC]]
其含义是:根据WHERE子句的条件表达式,从FROM子句中指定的基本表或视图中找出满足条件的元组,再按SEE,ECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROIJP子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一组。如果有ORDER子句,结果表要按<列名2>的值升序或降序排列。
某学校学生、教师及课程关系如下:
学生由学号唯一标识,学生相关信息包括姓名、性别、专业号和年龄等;
教师由工作证号唯一标识,教师相关信息包括姓名、年龄和所授课程号等;
课程由课程号唯一标识,课程相关信息包括课程名、学分、授课教师工作证号及授课时间等;
选课信息包括选课学生学号、课程号及考试成绩等。
用SQL语句表达如下查询:
“张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名,按分数的降序排列。

选项

答案SQL语句为: Select CName, SID, SName From S, T, C, STC Where T.CourseID IN (Select T.CourseID From T Where TName="张大民") AND STC.CID=T.CourseID AND C.CID=T.CourSeID AND STC.SID IN (Select SID From STC Where Score> 90) AND S.SID=STC.SID Order By CName, Score DESC

解析
转载请注明原文地址:https://kaotiyun.com/show/bsIS777K
0

最新回复(0)