【备战春招】第12天+MySQL刷题-01
2023/2/20 3:20:42
本文主要是介绍【备战春招】第12天+MySQL刷题-01,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
✔1.node.js初体验windows ✔2.commonjs-回顾ES6模块化 ✔3.commonjs的语法介绍 ✔4.commonjs和ES6 Module的区别 ✔5.Bug分类 ✔6.node.js和前端js的区别 ✔7.左关联 ✔8.聚合函数 ✔9.【案例】统计上班时间 ✔10.数据库的索引 ✔11.索引的分类 ✔12.查询数学成绩比语文成绩高的学生 |
|
编程目标:查询数学成绩比语文成绩高的学生
怎么做呢?
学生表:
分数表:
课程表:
假设有三张表:一张是学生表,包含学生ID(id)和学生姓名(student_name)两个列;
另一张是课程表,包含课程ID(id)和课程名称(course_name)两个列;
第三张表是分数表,包含学生ID(student_id)、课程ID(course_id)两个列。
要查询数学成绩比语文成绩高的学生,可以使用以下SQL语句:
select yw.student_id,yw.student_name, sx.score,sx.course_name, yw.score,yw.course_name from (select sc.student_id,st.student_name,sc.course_id,c.course_name,sc.score from student st join score sc on st.id = sc.student_id join course c on sc.course_id = c.id where c.course_name = "语文") yw join (select sc.student_id,st.student_name,sc.course_id,c.course_name,sc.score from student st join score sc on st.id = sc.student_id join course c on sc.course_id = c.id where c.course_name = "数学") sx on yw.student_id = sx.student_id where yw.score < sx.score;
运行结果:
大体思路:
1)yw 这个SQL语句将从学生表、分数表和课程表三个表中选择所有语文成绩的学生,
并返回他们的姓名、课程名称、分数等。
使用JOIN语句将三张表【学生表、分数表和课程表】连接起来,以便在查询中使用学生姓名和课程名称。
WHERE子句用于筛选出语文课程。
2)sx 这个SQL语句将从学生表、分数表和课程表三个表中选择所有数学成绩的学生,
并返回他们的姓名、课程名称、分数等。
使用JOIN语句将三张表【学生表、分数表和课程表】连接起来,以便在查询中使用学生姓名和课程名称。
WHERE子句用于筛选出数学课程。
3)
最外面一层 这个SQL语句将从学生表、yw 表和sx 表三个表中选择所有数学成绩比语文成绩高的学生,
并返回他们的姓名、数学课程、数学分数、语文课程、语文分数等。
并过滤出数学成绩比语文成绩高的学生。
这篇关于【备战春招】第12天+MySQL刷题-01的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程