stinfo,cinfo,scinfo多表联合查询
查询课程成绩在70~80之间的学生的学号、姓名和成绩
查询选修“C++程序设计基础”课程的学生的学号和成绩
查询所有课程的不及格成绩单,要求给出学生的课程编号、课程名称、学号和成绩
多表联合查询语句怎么写
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
为了帮助您完成这些SQL查询,我会分别为您编写相应的查询语句,并解释它们的工作原理。
- 查询课程成绩在70~80之间的学生的学号、姓名和成绩
假设我们有三个表:学生信息(students), 课程信息(courses),以及成绩信息(scores)。学生表(stinfo)包含学号(student_id)、姓名(name)等字段,课程表(cinfo)包含课程编号(course_id)、课程名称(course_name)等字段,成绩表(scinfo)包含学号(student_id)、课程编号(course_id)和成绩(grade)等字段。
查询语句如下:
SELECT s.student_id, s.name, sc.grade FROM students s JOIN scores sc ON s.student_id = sc.student_id WHERE sc.grade BETWEEN 70 AND 80;
这个查询首先通过
JOIN
操作将学生表和成绩表连接在一起,然后通过WHERE
子句筛选出成绩在70到80之间的记录。- 查询选修“C++程序设计基础”课程的学生的学号和成绩
SELECT sc.student_id, sc.grade FROM scores sc JOIN courses c ON sc.course_id = c.course_id WHERE c.course_name = 'C++程序设计基础';
这个查询首先通过
JOIN
操作将成绩表和课程表连接起来,然后通过WHERE
子句筛选出选修了"C++程序设计基础"课程的记录。- 查询所有课程的不及格成绩单,要求给出学生的课程编号、课程名称、学号和成绩
这里我们假设不及格的成绩为60分以下。我们可以使用同样的方法连接这三个表并进行筛选:
SELECT sc.course_id, c.course_name, s.student_id, sc.grade FROM students s JOIN scores sc ON s.student_id = sc.student_id JOIN courses c ON sc.course_id = c.course_id WHERE sc.grade < 60;
这个查询会返回所有不及格(成绩低于60分)的学生的课程编号、课程名称、学号和成绩。
请注意,这些查询假设了表之间的关联是正确的,即学生表中的学生ID与成绩表中的学生ID对应,且成绩表中的课程ID与课程表中的课程ID对应。根据您的实际数据库结构,可能需要调整表名、列名和关联条件。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy
- ¥15 在虚拟机环境下完成以下,要求截图!
- ¥15 求往届大挑得奖作品(ppt…)
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见