查询选课了的学生目前己修得学分的情況,包括学生学号、姓名和己 获得学分
时间: 2023-12-15 20:12:17 浏览: 64
您可以使用以下 SQL 查询语句来查询选课了的学生目前已修得学分的情况,包括学生学号、姓名和已获得学分:
```
SELECT s.student_id, s.student_name, SUM(c.course_credit) AS obtained_credits
FROM student s
INNER JOIN course_selection cs ON s.student_id = cs.student_id
INNER JOIN course c ON cs.course_id = c.course_id
GROUP BY s.student_id, s.student_name;
```
其中,`student` 表表示学生信息表,包括学生学号和姓名;`course_selection` 表表示选课信息表,包括学生学号和所选的课程号;`course` 表表示课程信息表,包括课程号和学分。
这条查询语句会将学生信息表、选课信息表和课程信息表按照学生学号和课程号进行连接,然后按照学生学号和姓名进行分组,计算每个学生已获得的总学分。
请注意将 `student`、`course_selection` 和 `course` 替换为您实际使用的表名,以及将 `student_id`、`student_name`、`course_id` 和 `course_credit` 替换为您实际使用的列名。
相关问题
SQLyog中 查询选课了的学生目前已修得学分的情况,包括学生学号,姓名和已获得学分
你可以使用以下SQL语句在SQLyog中查询选课了的学生目前已修得学分的情况,包括学生学号,姓名和已获得学分:
```
SELECT s.student_id, s.student_name, SUM(c.course_credit) AS total_credits
FROM student s
JOIN student_course sc ON s.student_id = sc.student_id
JOIN course c ON sc.course_id = c.course_id
GROUP BY s.student_id
```
这个查询语句使用了三个表:`student`、`student_course` 和 `course`。首先,我们使用 `JOIN` 操作符将这三个表连接起来。然后,我们使用 `GROUP BY` 子句对学生进行分组,并使用 `SUM` 函数计算每个学生已获得的总学分数。最后,我们选择学生的学号、姓名和总学分数作为输出。
(4)查询选课了的学生目前已修得学分的情况,包括学生学号、姓名和已获得学分。
假设学生表的表名为`student`,包含以下字段:
- `id`:学生ID
- `name`:学生姓名
假设选课表的表名为`course_selection`,包含以下字段:
- `id`:选课记录ID
- `student_id`:学生ID,外键
- `course_id`:课程ID,外键
假设课程表的表名为`course`,包含以下字段:
- `id`:课程ID
- `name`:课程名称
- `credit`:学分
则可以使用如下SQL语句查询选课了的学生目前已修得学分的情况:
```
SELECT s.id, s.name, SUM(c.credit) AS total_credit
FROM student s
INNER JOIN course_selection cs ON s.id = cs.student_id
INNER JOIN course c ON cs.course_id = c.id
GROUP BY s.id, s.name;
```
上述SQL语句使用了INNER JOIN连接学生表、选课表和课程表,根据学生ID进行关联,然后对学生ID和学生姓名进行分组,计算每个学生已修得的学分总数。
执行上述SQL语句后,就可以查询选课了的学生目前已修得学分的情况,包括学生学号、姓名和已获得学分。