7.统计score表中被选修过的课程门数; 8.查询未选修课程的学生信息; 9.查询C语言程序设计课程的平均分;10.将course表删除
时间: 2024-10-25 16:09:19 浏览: 17
C语言程序设计报告学生选修课系统.docx
7. 要统计`score`表中被选修过的课程门数,可以通过连接`score`和`course`表,并计算每个学生的课程数目,可以这样做:
```sql
SELECT student_id, COUNT(DISTINCT cid) as total_courses
FROM score
JOIN course ON score.cid = course.cno
GROUP BY student_id;
```
8. 查询未选修课程的学生信息,首先找出学生ID,然后从`student`表中筛选出没有对应的课程ID的数据:
```sql
SELECT s.*
FROM student s
LEFT JOIN score sc ON s.student_id = sc.student_id
WHERE sc.cid IS NULL;
```
9. 计算"C语言程序设计"课程的平均分,假设`cno`为'C'表示C语言程序设计:
```sql
SELECT AVG(grade) as average_grade
FROM score
WHERE cid IN (SELECT cno FROM course WHERE cname = 'C语言程序设计');
```
10. 要删除`course`表,请谨慎操作,因为这将永久删除数据,除非有备份。如果确认无误,使用以下命令:
```sql
DROP TABLE IF EXISTS course;
```
阅读全文