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

Posted 黄至尊qwe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这么一张SQL面试题,你能否在要求的15分钟内完成?相关的知识,希望对你有一定的参考价值。


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

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

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分钟内完成?_MySQL面试题_02

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

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

结果如下:

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

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

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

结果如下:

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

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分钟内完成?_sql语句_05

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分钟内完成?_sql语句_06

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分钟内完成?_sql语句_07

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

select 
a.id,a.name,a.math_score,b.english_score
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分钟内完成?_sql语句_08


以上是关于这么一张SQL面试题,你能否在要求的15分钟内完成?的主要内容,如果未能解决你的问题,请参考以下文章

今天遇到一公司的超难的java面试题,面挂了,求帮忙!

某程序员去华为面试,因为错了一道题而被淘汰

每日3分钟技术干货 | 面试题+答案 | Mysql篇

面试官,求求你不要问我这么简单但又刁难的算法题了

大厂首发!三分钟带你入门redis高可用架构之哨兵模式

面试题系列:Linux 夺命连环5问