班主任比较关心学生档案,包括姓名、学号、性别和年龄,而教员比较关心学员成绩以及是否参加考试,包括姓名、学号、笔试、机试是否通过,没参加考试的学员,成绩栏显示缺考,请根据表stuInfo和表stuMarks,使查询结果如下图所示,请使用SQL语句完成以下内容。
时间: 2023-12-22 22:31:12 浏览: 68
假设表stuInfo的字段为:stuName, stuId, stuGender, stuAge;表stuMarks的字段为:stuName, stuId, writtenExam, machineExam。
可以使用以下SQL语句实现查询:
```
SELECT
stuInfo.stuName,
stuInfo.stuId,
stuInfo.stuGender,
stuInfo.stuAge,
IFNULL(stuMarks.writtenExam, '缺考') AS writtenExam,
IFNULL(stuMarks.machineExam, '缺考') AS machineExam
FROM
stuInfo
LEFT JOIN
stuMarks
ON
stuInfo.stuId=stuMarks.stuId;
```
这个SQL语句使用了LEFT JOIN来联结两个表,保证了即使某个学员没有参加考试,也能够在结果中显示出来。同时,使用了IFNULL函数来判断某个学员是否缺考。
相关问题
学生(学号,姓名,性别,年龄,班级,专业);课程(课程号,课程名,授课教师);学习(学号,课程号,成绩)。 针对上面的关系模式,用SQL语句完成下列5题: 1.检索所有选修了课程号为“C112”课程的学生的学号和成绩。 2.检索年龄大于23岁的男学生的学号和姓名。 3.检索学号为“S03”学生所学课程的课程名与任课教师名。 4.检索“数据库原理”课程成绩在70到89之间的所有学生的学号、姓名、班级和成绩。 5.检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业。学生(学号,姓名,性别,年龄,班级,专业);课程(课程号,课程名,授课教师);学习(学号,课程号,成绩)。 针对上面的关系模式,用SQL语句完成下列5题: 1.检索所有选修了课程号为“C112”课程的学生的学号和成绩。 2.检索年龄大于23岁的男学生的学号和姓名。 3.检索学号为“S03”学生所学课程的课程名与任课教师名。 4.检索“数据库原理”课程成绩在70到89之间的所有学生的学号、姓名、班级和成绩。 5.检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业。
1. SELECT 学生.学号, 学习.成绩 FROM 学生 INNER JOIN 学习 ON 学生.学号 = 学习.学号 WHERE 学习.课程号 = 'C112';
2. SELECT 学号, 姓名 FROM 学生 WHERE 性别 = '男' AND 年龄 > 23;
3. SELECT 课程.课程名, 课程.授课教师 FROM 学习 INNER JOIN 课程 ON 学习.课程号 = 课程.课程号 WHERE 学习.学号 = 'S03';
4. SELECT 学生.学号, 学生.姓名, 学生.班级, 学习.成绩 FROM 学生 INNER JOIN 学习 ON 学生.学号 = 学习.学号 INNER JOIN 课程 ON 学习.课程号 = 课程.课程号 WHERE 课程.课程名 = '数据库原理' AND 学习.成绩 >= 70 AND 学习.成绩 <= 89;
5. SELECT 学生.学号, 学生.姓名, 学生.专业 FROM 学生 WHERE 学生.学号 NOT IN (SELECT 学习.学号 FROM 学习 WHERE 学习.课程号 = 'C135');
现有关系模式如下: 学生(学号,姓名,性别,年龄,班级,专业);课程(课程号,课程名,授课教师);学习(学号,课程号,成绩)。 针对上面的关系模式,用SQL语句完成下列5题: 1.检索所有选修了课程号为“C112”课程的学生的学号和成绩。 2.检索年龄大于23岁的男学生的学号和姓名。 3.检索学号为“S03”学生所学课程的课程名与任课教师名。 4.检索“数据库原理”课程成绩在70到89之间的所有学生的学号、姓名、班级和成绩。 5.检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业
1. SELECT 学号, 成绩 FROM 学习 WHERE 课程号='C112';
2. SELECT 学号, 姓名 FROM 学生 WHERE 年龄>23 AND 性别='男';
3. SELECT 课程.课程名, 课程.授课教师 FROM 学生, 课程, 学习 WHERE 学生.学号='S03' AND 学生.学号=学习.学号 AND 学习.课程号=课程.课程号;
4. SELECT 学生.学号, 学生.姓名, 学生.班级, 学习.成绩 FROM 学生, 课程, 学习 WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND 课程.课程名='数据库原理' AND 学习.成绩>=70 AND 学习.成绩<=89;
5. SELECT 学生.学号, 学生.姓名, 学生.专业 FROM 学生 WHERE 学生.学号 NOT IN (SELECT 学号 FROM 学习 WHERE 课程号='C135');
阅读全文