SQL查询所有学生的成绩明细,包含学号、姓名、课程号、课程名、成绩,结果按学号先升序排,再按课程号降序排。
时间: 2023-05-25 15:03:49 浏览: 52
SELECT s.student_id, s.student_name, c.course_id, c.course_name, sc.score
FROM students s
INNER JOIN score sc ON s.student_id = sc.student_id
INNER JOIN courses c ON sc.course_id = c.course_id
ORDER BY s.student_id ASC, c.course_id DESC;
相关问题
SQL语句查询学生的学号、姓名、课程号、课程名、成绩
假设有三个表:学生表(students)、课程表(courses)和成绩表(scores),它们的字段如下:
学生表(students):
- 学号(id)
- 姓名(name)
课程表(courses):
- 课程号(id)
- 课程名(name)
成绩表(scores):
- 学号(student_id)
- 课程号(course_id)
- 成绩(score)
则可以使用如下 SQL 语句查询学生的学号、姓名、课程号、课程名、成绩:
```
SELECT students.id AS 学号, students.name AS 姓名, courses.id AS 课程号, courses.name AS 课程名, scores.score AS 成绩
FROM students, courses, scores
WHERE students.id = scores.student_id AND courses.id = scores.course_id;
```
这里使用了多表连接查询,通过学生表、课程表和成绩表的关联字段进行关联。其中,`AS` 关键字用于给字段取别名。
SQL语句查询每个学生的学号、姓名、选修的课程号、课程名和成绩
可以使用如下的 SQL 语句来查询每个学生的学号、姓名、选修的课程号、课程名和成绩:
```
SELECT s.id AS 学号, s.name AS 姓名, c.id AS 课程号, c.name AS 课程名, sc.score AS 成绩
FROM student s
INNER JOIN score sc ON s.id = sc.stu_id
INNER JOIN course c ON sc.course_id = c.id;
```
其中,`student` 表存储了学生的信息,包括学号和姓名;`course` 表存储了课程的信息,包括课程号和课程名;`score` 表存储了学生选修的课程和对应的成绩,包括学生的学号、课程号和成绩。通过 `INNER JOIN` 连接这三个表,就可以查询到每个学生的学号、姓名、选修的课程号、课程名和成绩。