(10)查询所有同学的基本信息及选课情况(包含未选课同学的信息); (11)列出所有参加了数据库课程考试的学生姓名和成绩; (12)查询所有学生和教师的姓名(允许重名)并标识类型(学生/老师); (13)查询每一课程的间接选修课,以“课程

动态 未结 0 160
小小草
小小草 LV1 2023年9月23日 23:40 发表
(10)查询所有同学的基本信息及选课情况(包含未选课同学的信息): ``` SELECT students.id, students.name, departments.name AS department, courses.name AS course, scores.score FROM students LEFT JOIN departments ON students.department_id = departments.id LEFT JOIN scores ON students.id = scores.student_id LEFT JOIN courses ON scores.course_id = courses.id; ``` 这个查询语句使用 LEFT JOIN 连接了三个表,并返回所有同学的基本信息及选课情况,包括未选课同学的信息。其中,students.id 表示返回学生 ID,students.name 表示返回学生姓名,departments.name 表示返回所在院系名称,courses.name 表示返回选修课程名称,scores.score 表示返回成绩。 (11)列出所有参加了数据库课程考试的学生姓名和成绩: ``` SELECT students.name, scores.score FROM students INNER JOIN scores ON students.id = scores.student_id INNER JOIN courses ON scores.course_id = courses.id AND courses.name = '数据库'; ``` 这个查询语句使用 INNER JOIN 连接了三个表,并使用 WHERE 子句过滤出参加了数据库课程考试的学生信息。其中,students.name 表示返回学生姓名,scores.score 表示返回成绩。 (12)查询所有学生和教师的姓名(允许重名)并标识类型(学生/老师): ``` SELECT name, '学生' AS type FROM students UNION ALL SELECT name, '教师' AS type FROM teachers; ``` 这个查询语句使用 UNION ALL 连接了两个 SELECT 语句,并在每个 SELECT 语句中添加一个类型标识列。其中,name 表示返回姓名,'学生' 或 '教师' 表示返回类型。 (13)查询每一课程的间接选修课,以“课程名”、“间接选修课名”作列名: ``` SELECT c1.name AS course,
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复