查询学生学号、姓名、所在院系、数据库原理的成绩,并按照成绩降序sql语句
时间: 2023-11-08 08:09:15 浏览: 59
假设学生表为 student,包含学号(id),姓名(name),所在院系(department)三个字段;成绩表为 score,包含学号(id),课程名称(course),成绩(score)三个字段。则可以使用如下 SQL 语句查询学生学号、姓名、所在院系、数据库原理的成绩,并按照成绩降序排序:
```
SELECT s.id, s.name, s.department, sc.score
FROM student s, score sc
WHERE s.id = sc.id AND sc.course = '数据库原理'
ORDER BY sc.score DESC;
```
相关问题
SQL 列出只选修一门课程的学生的学号、姓名、院系及成绩
假设有三个表:学生表(students)、课程表(courses)和成绩表(scores),并且它们之间的关系是学生表和课程表通过成绩表关联起来的。那么,可以使用以下 SQL 语句来列出只选修一门课程的学生的学号、姓名、院系及成绩:
```
SELECT students.id, students.name, students.department, scores.score
FROM students
INNER JOIN scores ON students.id = scores.student_id
WHERE students.id IN (
SELECT student_id
FROM scores
GROUP BY student_id
HAVING COUNT(DISTINCT course_id) = 1
)
```
上述 SQL 语句中,首先使用 INNER JOIN 将学生表和成绩表关联起来,然后筛选出只选修一门课程的学生。这里使用了子查询和 GROUP BY 语句来实现,最后输出学号、姓名、院系和成绩。
SQL查询选修了非所在院系开设的选修课的学生的学号姓名和班级
我可以回答这个问题。SQL查询语句如下:
SELECT 学号, 姓名, 班级
FROM 学生信息表
WHERE 学号 IN (
SELECT 学号
FROM 选课信息表
WHERE 课程编号 IN (
SELECT 课程编号
FROM 课程信息表
WHERE 所在院系 <> 学生所在院系
AND 课程类型 = '选修课'
)
);