3. (简答题, 10.0分) 已知网络课程平台数据库: 教师表:(教师ID,教师帐号,教师姓名,教师口令) 班级表:(班级ID,班级名称,班级人数,教师ID) 学生表:(学生ID,学生帐号,学生姓名,学生口令,班级ID) 题库表:(试题ID,试题内容,标准答案,题型,难度) 试卷总表:(试卷ID,学生ID,开始时间,结束时间,状态,成绩) 试卷明细表:(试卷明细ID,试卷ID,试题ID,答案,分数) 对于网络课程平台数据库,请写出正确的SQL语句: 1)查询班级名称为:“软工1501班”的学生明细(包括学生帐号、学生姓名)。 2)查询成绩大于90分的考生人数。 3)查询姓名为“李小红”教师所带的班级平均成绩。
时间: 2023-06-11 18:05:28 浏览: 78
1)SELECT 学生帐号, 学生姓名 FROM 学生表 WHERE 班级ID = (SELECT 班级ID FROM 班级表 WHERE 班级名称 = '软工1501班')
2)SELECT COUNT(*) FROM 试卷总表 WHERE 成绩 > 90
3)SELECT AVG(成绩) FROM 试卷总表 WHERE 学生ID IN (SELECT 学生ID FROM 学生表 WHERE 教师ID = (SELECT 教师ID FROM 教师表 WHERE 教师姓名 = '李小红'))
相关问题
2. (简答题, 10.0分) 已知图书管理数据库: 图书(总编号varchar(6),分类号varchar(8),书名varchar(16),作者varchar(6),出版单位 varchar(20),单价numeric(6,2)) 读者(借书证号varchar(4),单位varchar(8),姓名varchar(6),性别varchar(2),职称varchar(6),地址 varchar(20)) 借阅(借书证号varchar(4),总编号varchar(6),借书日期datetime) 对于图书管
理系统中的上述三个数据库表,可以根据借阅表来实现以下查询操作: 1. 查询某个读者借了哪些书; 2. 查询某本书被哪些读者借阅了; 3. 查询某个读者当前还有哪些书未归还; 4. 查询某本书当前被哪些读者借阅了。
[简答题] 对于上题的教务管理数据库: --1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号 --3.教师表 Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名 --4.成绩表 SC(SID,CID,score) --SID 学生编号
,CID 课程编号,score 成绩
以上教务管理数据库中的四个表可以通过以下 SQL 语句进行创建:
```sql
CREATE TABLE Student (
SID INT PRIMARY KEY,
Sname VARCHAR(20),
Sage DATE,
Ssex VARCHAR(2)
);
CREATE TABLE Course (
CID INT PRIMARY KEY,
Cname VARCHAR(20),
TID INT,
FOREIGN KEY (TID) REFERENCES Teacher(TID)
);
CREATE TABLE Teacher (
TID INT PRIMARY KEY,
Tname VARCHAR(20)
);
CREATE TABLE SC (
SID INT,
CID INT,
score INT,
PRIMARY KEY (SID, CID),
FOREIGN KEY (SID) REFERENCES Student(SID),
FOREIGN KEY (CID) REFERENCES Course(CID)
);
```
其中,Student 表的主键为 SID,Course 表的主键为 CID,Teacher 表的主键为 TID,SC 表的主键为 (SID, CID)。Course 表中的 TID 列为外键,引用自 Teacher 表的 TID 列。SC 表中的 SID 列和 CID 列都为外键,分别引用自 Student 表的 SID 列和 Course 表的 CID 列。这样设计可以保证数据的完整性和一致性。
阅读全文