数据库查询是数据库的核心操作,SQL提供了 SELECT语句进行数据库的查询,其一般格式如下:SELECT [A

15 查阅

数据库查询是数据库的核心操作,SQL提供了 SELECT语句进行数据库的查询,其一般格式如下:

SELECT [ALL|DISTINCT]<目标列表达式 >[,< 目标列表达式>]...

FROM <表名或视图名 >[,<表名或视图名>]...

[WHERE<条件表达式>]

[GROUP BY <列名 1> [HAVING <条件表达式>]]

[ORDER BY〈列名 2> [ASC|DESC]]

其含义是:根据WHERE子句的条件表达式,从FROM子句中指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一组。如果有ORDER子句,结果表要按<列名2>的值升序或降序排列。

某学校学生、教师及课程关系如下:

学生由学号唯一标识,学生相关信息包括姓名、性别、专业号和年龄等;

教师由工作证号唯一标识,教师相关信息包括姓名,年龄和所授课程号等;

课程由课程号唯一标识,课程相关信息包括课程名,学分,授课教师工作证号及授课时间等;

选课信息包括选课学生学号,课程号及考试成绩等。

根据关系模型完成数据库设计,包括数据库表、键值;(8分)

用SQL语句表达如下查询:(5分)

“张大民(教师名)”讲授的课程名和在这些课程中考试超过90分的学生的学号及姓名, 按分数的降序排列。

参考答案:

数据库设计表设计如下:学生表student:StuID学号唯一标识整型、主键StuName学生姓名字符串型StuSex学生性别bool型MajorId专业号整型StuAge学生年龄整型教师表teacher:TeaId教师编号整型、主键TeaName教师姓名字符串型TeaAge教师年龄整型TeaCourse所授课程号整型、外键couse(CourseId)课程表course:CourseId课程编号整型、主键CourseName课程名称字符串型CourseCredit课程学分数值型CourseTeacher

通信工程师