mysql 查询选课学生的考试情况,要求返回学号,姓名,课程名称及成绩。其中,如有某些学生没有考试的情况,则显示成绩信息为“缺考”。
时间: 2024-01-04 12:03:00 浏览: 179
可以使用以下 SQL 语句查询选课学生的考试情况:
```
SELECT student.id, student.name, course.name, IFNULL(score.score, '缺考') AS score
FROM student
INNER JOIN score ON student.id = score.student_id
INNER JOIN course ON score.course_id = course.id;
```
在该 SQL 语句中,使用了 INNER JOIN 连接了三个表:student、score 和 course。其中,student 表和 score 表之间通过学生 ID 进行连接,score 表和 course 表之间通过课程 ID 进行连接。
在 SELECT 语句中,使用了 IFNULL 函数来判断成绩是否为空,如果为空则显示“缺考”。
需要注意的是,该 SQL 语句仅适用于已经有选课信息和成绩信息的情况。如果某些学生没有选课或者没有考试,则无法在查询结果中显示。
相关问题
mySQL建立学生选修课程情况视图(学号,课程名称,成绩)。括号中的内容来自三张不同的表
回答:这个问题属于技术问题。您可以使用以下语句创建学生选修课程情况视图:
CREATE VIEW 学生选修课程情况视图 AS
SELECT 学生表.学号, 课程表.课程名称, 成绩表.成绩
FROM 学生表
JOIN 选课表 ON 学生表.学号 = 选课表.学号
JOIN 课程表 ON 选课表.课程号 = 课程表.课程号
JOIN 成绩表 ON 选课表.选课号 = 成绩表.选课号;
其中,学生表、选课表、课程表、成绩表是三张不同的表,根据您的实际情况进行替换即可。
mysql数据库 查询计算机系的学生的学号、姓名; 查询选修了数据库课程的学生学号姓名和成绩; 查询选修了学号为's02'的学生的全部选修课程的学生的学号姓名和系别。
以下是三个 MySQL 查询语句,用于实现您的要求:
1. 查询计算机系的学生的学号、姓名:
```
SELECT 学号, 姓名 FROM 学生 WHERE 系别 = '计算机系';
```
2. 查询选修了数据库课程的学生学号姓名和成绩:
```
SELECT 学生.学号, 学生.姓名, 成绩.分数
FROM 学生, 成绩, 课程
WHERE 学生.学号 = 成绩.学号 AND 成绩.课程编号 = 课程.课程编号 AND 课程.课程名称 = '数据库';
```
3. 查询选修了学号为's02'的学生的全部选修课程的学生的学号姓名和系别:
```
SELECT 学生.学号, 学生.姓名, 学生.系别
FROM 学生, 选课
WHERE 学生.学号 = 选课.学号 AND 选课.课程编号 IN (SELECT 选课.课程编号 FROM 选课 WHERE 选课.学号 = 's02');
```
这些查询语句可能需要根据您的具体数据表结构稍作修改。
阅读全文