最全手写sql语句面试题,互联网大厂高频重点面试题

最后

现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。

所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

select 查询结果 [学号,平均成绩:汇总函数avg(成绩)]

from 从哪张表中查找数据 [涉及到成绩:成绩表score]

where 查询条件 [限制条件:不及格课程,平均成绩<60]

group by 分组 [每个学生的平均:按学号分组]

having 对分组结果指定条件 [限制条件:课程数目>2,汇总函数count(课程号)>2]

order by 对查询结果排序[没有];

*/

select 学号, avg(成绩) as 平均成绩

from score

where 成绩 <60

group by 学号

having count(课程号)>2;

四、复杂查询


1.查询所有课程成绩小于60分学生的学号、姓名

【知识点】子查询

1.翻译成大白话

1)查询结果:学生学号,姓名

2)查询条件:所有课程成绩 < 60 的学生,需要从成绩表里查找,用到子查询

第1步,写子查询(所有课程成绩 < 60 的学生)

select 查询结果[学号]

from 从哪张表中查找数据[成绩表:score]

where 查询条件[成绩 < 60]

group by 分组[没有]

having 对分组结果指定条件[没有]

order by 对查询结果排序[没有]

limit 从查询结果中取出指定行[没有];

select 学号

from student

where 成绩 < 60;

第2步,查询结果:学生学号,姓名,条件是前面1步查到的学号

select 查询结果[学号,姓名]

from 从哪张表中查找数据[学生表:student]

where 查询条件[用到运算符in]

group by 分组[没有]

having 对分组结果指定条件[没有]

order by 对查询结果排序[没有]

limit 从查询结果中取出指定行[没有];

*/

select 学号,姓名

from student

where 学号 in (

select 学号

from student

where 成绩 < 60

);

五、多表查询


1.查询平均成绩大于85的所有学生的学号、姓名和平均成绩

select a.学号,a.姓名, avg(b.成绩) as 平均成绩

from student as a left join score as b

on a.学号 = b.学号

group by a.学号

having avg(b.成绩)>85;

2.查询出每门课程的及格人数和不及格人数

– 考察case表达式

select 课程号,

sum(case when 成绩>=60 then 1

else 0

end) as 及格人数,

sum(case when 成绩 < 60 then 1

else 0

end) as 不及格人数

from score

group by 课程号;

3.查询课程编号为0003且课程成绩在80分以上的学生的学号和姓名

select a.学号,a.姓名

from student as a inner join score as b on a.学号=b.学号

where b.课程号=‘0003’ and b.成绩>80;

4.查询不同老师所教不同课程平均分从高到低显示

在这里插入图片描述

select a.教师号,a.教师姓名,avg(c.成绩)

from teacher as a

inner join course as b

​​on a.教师号= b.教师号

inner join score c on b.课程号= c.课程号

group by a.教师姓名

order by avg(c.成绩) desc;

5.查询课程编号为“0001”的课程比“0002”的课程成绩高的所有学生的学号

在这里插入图片描述

select a.学号

​from

(select 学号 ,成绩 from score where 课程号=01) as a

inner join

(select 学号 ,成绩 from score where 课程号=02) as b

on a.学号 =b.学号

inner join student c on c.学号 =a.学号

where a.成绩 >b.成绩 ;

6.查询学过“孟扎扎”老师所教的所有课的同学的学号、姓名

在这里插入图片描述

select s.学号 ,s.姓名,a.学号 ,b.课程号,c.教师号 ,c.教师姓名

from student as s

inner join score as a

​​on s.学号 =a.学号

inner join course b on a.课程号 =b.课程号

inner join teacher c on b.教师号 = c.教师号

where c.教师姓名 =‘孟扎扎’;

7.查询没学过"孟扎扎"老师讲授的任一门课程的学生姓名(与上题类似,"没学过"用not in来实现)

select 姓名 ,学号

from student

​where 学号 not in (

select a.学号

from student as a

inner join score as​ b

on a.学号 =b.学号

inner join course as​ c on b.课程号 =c.课程号

inner join teacher as​ d on c.教师号 =d.教师号

where d.教师姓名 =‘孟扎扎’);

8.查询选修“孟扎扎”老师所授课程的学生中成绩最高的学生姓名及其成绩

select a.姓名,b.成绩

from student as​ a

inner join score as​ b on a.学号=b.学号

inner join course as​ c on b.课程号 =c.课程号

inner join teacher as​ d on c.教师号 = d.教师号

where d.教师姓名 = ‘孟扎扎’

order by b.成绩 desc limit 1;

9.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

在这里插入图片描述

select a.学号,avg(a.成绩 ),

max(case when b.课程名称 = ‘数学’ then a.成绩 else null end ) as ‘数学’,

max(case when b.课程名称 = ‘语文’ then a.成绩 else null end ) as ‘语文’,

max(case when b.课程名称 = ‘英语’ then a.成绩 else null end ) as ‘英语’

from score as​ a

inner join course as b

​​on a.课程号 =b.课程号

group by a.学号 ;

总结

这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!

某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!

成功只会留给那些有准备的人!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!

某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!

成功只会留给那些有准备的人!

[外链图片转存中…(img-mwuOkHic-1715604323915)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值