使用sql的子查询作为数据源,查询学生学分的获得情况,输出列标题为学号、姓名、所在院系、已修学分,其中已修学分为考试及格的课程学分之和
时间: 2024-11-30 18:17:15 浏览: 0
第三章SQL数据查询单表查询优秀文档.ppt
在SQL中,你可以使用子查询来获取每个学生的已修学分,假设你有一个`courses`表记录课程信息,包括学生ID(`student_id`)、课程名称(`course_name`)和学分(`credit`),以及一个`grades`表记录成绩,包含学生ID(`student_id`)和课程名称(`course_name`)。我们可以创建如下的查询:
```sql
SELECT s.student_id, s.name AS 姓名, s.department AS 所在院系, (
SELECT SUM(c.credit)
FROM courses c
JOIN grades g ON c.course_name = g.course_name AND g.grade >= '60' -- 假设及格分数为60分
WHERE c.student_id = s.student_id
) AS 已修学分
FROM students s;
```
这个查询首先从`students`表中选择学生的信息,然后通过子查询计算出每个学生已经通过考试(达到及格分数)的课程总学分。
阅读全文