这么一张SQL面试题,你能否在要求的15分钟内完成?

作者:黄伟呢

来源:数据分析与统计学之美

这是别人发的一道MySQL面试题,别人要求你在15分钟内完成。一眼看过去,这张面试题并不是很难,反而很简单,但是你能不能很快做出来呢?可以看到,最下方的第3题可能不太全,但是影响不大,看不见的那就先不管。

这么一张SQL面试题,你能否在要求的15分钟内完成?_第1张图片

1. 第一题

1)建表语句

create table test1(
 id varchar(20),
 name varchar(20)
) charset=utf8;

insert into test1(id,name) 
values
("1001","张三"),
("1002","李四"),
("1003","王五"),
("1003","王五"),
("1004","陈六");

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第2张图片

2)请用一条SQL语句,查询去重后的人员信息清单

select 
 id,name
from test1
group by id,name;
----------------------
----------或者---------
select 
 distinct(id),name
from test1

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第3张图片

3)请用一条SQL语句,查询出存在重复记录的人员id

select 
 id,count(id) counts
from 
 test1
group by 
 id
having 
 counts >=2;

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第4张图片

2. 第二题

1)建表语句

# math_table表
create table math_table(
 id int,
 name varchar(20),
 math_score int
) charset=utf8;

insert into math_table(id,name,math_score) 
values
(1,"李明",83),
(3,"张建国",76),
(5,"王华",57);

=============================================

# english_table表
create table english_table(
 id int,
 name varchar(20),
 english_score int
) charset=utf8;

insert into english_table(id,name,english_score) 
values
(2,"陈斌",73),
(3,"张建国",65),
(5,"王华",89);

结果如果:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第5张图片

2)请用一条SQL语句,查询出两项比赛都参加了的学生的name清单

select 
 a.id,a.name,a.math_score,b.english_score
from 
 math_table a
join 
 english_table b
on 
 a.id = b.id

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第6张图片

3)请用一条SQL语句,查询出参加了数学竞赛但是没有参加英语竞赛的学生的name清单

select 
 a.id,a.name,a.math_score            
from 
 math_table a
left join 
 english_table b
on 
 a.id = b.id    
where
 b.english_score is null;

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第7张图片

4)请用一条SQL语句,查询出两项竞赛得分均大于60分的学生的两项竞赛的平均分

select 
 a.id,a.name,(a.math_score+b.english_score)/2 as avg        
from 
 math_table a
join 
 english_table b
on 
 a.id = b.id    
where
 a.math_score >=60 and b.english_score >=60;

结果如下:

这么一张SQL面试题,你能否在要求的15分钟内完成?_第8张图片

◆ ◆ ◆  ◆ 

麟哥新书已经在京东上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前京东正在举行100-50活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:

点击下方小程序即可进入购买页面:


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:

猜你喜欢

 麟哥拼了!!!亲自出镜推荐自己新书《数据分析师求职面试指南》

 厉害了!麟哥新书登顶京东销量排行榜!

 笑死人不偿命的知乎沙雕问题排行榜

 用Python扒出B站那些“惊为天人”的阿婆主!

● 你相信逛B站也能学编程吗

点击阅读原文即可参与京东100-50购书活动

你可能感兴趣的:(sms,nagios,3d,qml,openssh)