这么简单的数据库面试题,第一眼竟无从下手。。
【摘要】 这么简单的数据库面试题,第一眼竟无从下手。。
🔎这里是MYSQL数据库加油站
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️
前段时间朋友发给我一个数据库面试题,第一眼竟不知从何下手!
下面一起来看一看这个题吧!
学生成绩表
问题一:一条sql语句查询出成绩排第三的学生信息
分析: 想要查出成绩排行第三的学生信息,要进行三次查询。
- 首先要将成绩进行排序,查询出排序后的成绩和排名。
- 然后在第一次查询出的结果中查询出排名第三的成绩。
- 最后根据学生成绩在student表中查询出学生信息
-- 第三次查询
SELECT id,name,score FROM student WHERE score=(
-- 第二次查询
select score FROM (
-- 第一次查询
select score,concat(RANK() over(ORDER BY score desc))acb FROM student
)ace WHERE acb=3)
问题二:查询学生信息和成绩评价,成绩>=80为优秀,成绩>=60为及格,成绩<60为不及格。
分析:在学生信息后面多显示一个字段为成绩评价,if判断成绩。
select id,name,score,if(80<=score,'优秀',if(60<=score,'及格','不及格'))评价 from student
问题三:以优秀,及格,不及格分组并统计每组的个数
分析:直接在问题二的表上进行分组统计
select le 评价,count(*) 人数 from (select id,name,score,if(80<=score,'优秀',if(60<=score,'及格','不及格'))le from student) as t group by t.le;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)