MySQL牛客网刷题2

目录

SQL9 查找除复旦大学的用户信息

 代码:

SQL10 用where过滤空值练习

代码:

SQL11 高级操作符练习(1)

代码:

SQL12 高级操作符练习(2)

代码:

SQL13 Where in 和Not in

代码:

SQL14 操作符混合运用

代码:

SQL15 查看学校名称中含北京的用户

代码:

SQL16 查找GPA最高值

问题分解:

细节问题:

完整代码:

SQL17 计算男生人数以及平均GPA

问题分解:

细节问题:

完整代码:


SQL9 查找除复旦大学的用户信息

题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据

示例:user_profile

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学ZheJiang
55432male25山东大学Shandong

根据输入,你的查询应返回以下结果:

device_idgenderageuniversity
2138male21北京大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

 代码:

select device_id,gender,age,university from user_profile where university<>'复旦大学' ;

SQL10 用where过滤空值练习

题目:现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息。

示例:user_profile

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学ZheJiang
55432male25山东大学Shandong

根据输入,你的 查询应返回以下结果:

device_idgenderageuniversity
2138male21北京大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

代码:

select device_id,gender,age,university from user_profile where age is not null ;

SQL11 高级操作符练习(1)

题目:现在运营想要找到男性且GPA在3.5以上(不包括3.5)的用户进行调研,请你取出相关数据。

示例:user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学3.8

根据输入,你的查询应返回以下结果:

device_idgenderageuniversitygpa
3214male复旦大学4.0
5432male25山东大学3.8

代码:

select device_id,gender,age,university,gpa from user_profile where gender='male' and gpa > 3.5 ;

SQL12 高级操作符练习(2)

题目:现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研,请你取出相关数据(使用OR实现)

示例:user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学3.8

根据输入,你的查询应返回以下结果:

device_idgenderageuniversitygpa
2138male21北京大学3.4
3214male复旦大学4.0
6543female20北京大学3.2
5432male25山东大学3.8

代码:

select device_id,gender,age,university,gpa from user_profile where university='北京大学' or gpa > 3.7 ;

SQL13 Where in 和Not in

题目:现在运营想要找到学校为北大、复旦和山大的同学进行调研,请你取出相关数据。

示例:user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学3.8

根据输入,你的查询应返回以下结果:

device_idgenderageuniversitygpa
2138male21北京大学3.4
3214male复旦大学4.0
6543female20北京大学3.2
5432male25山东大学3.8

代码:

select device_id,gender,age,university,gpa from user_profile where university in('北京大学','复旦大学','山东大学');

SQL14 操作符混合运用

题目:现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据

示例:user_profile

iddevice_idgenderageuniversityprovincegpa
12138male21北京大学BeiJing3.4
23214maleNULL复旦大学Shanghai4
36543female20北京大学BeiJing3.2
42315female23浙江大学ZheJiang3.6
55432male25山东大学Shandong3.8

根据输入,你的查询应返回以下结果:(该题对于小数点后面的0不需要计算与统计,后台系统会统一输出小数点后面1位)

device_idgenderageuniversitygpa
3214maleNULL复旦大学4
5432male25山东大学3.8

代码:

select device_id,gender,age,university,gpa
from user_profile 
where (gpa>3.5 and university ='山东大学' ) or (gpa>3.8 and university ='复旦大学');

SQL15 查看学校名称中含北京的用户

题目:现在运营想查看所有大学中带有北京的用户的信息,请你取出相应数据。

示例:用户信息表:user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学3.8
62131male28北京师范大学3.3

根据示例,你的查询应返回如下结果:

device_idageuniversity
213821北京大学
654320北京大学
213128北京师范大学

代码:

select device_id,age,university
from user_profile 
where university like '北京%' ;

SQL16 查找GPA最高值

题目:运营想要知道复旦大学学生gpa最高值是多少,请你取出相应数据

示例:某user_profile表如下:

iddevice_idgenderageuniversitygpa
12234male21北京大学3.2
22235maleNULL复旦大学3.8
32236female20复旦大学3.5
42237female23浙江大学3.3
52238male25复旦大学3.1
62239male25北京大学3.6
72240maleNULL清华大学3.3
82241femaleNULL北京大学3.7

根据输入,你的查询应返回以下结果,结果保留到小数点后面1位(1位之后的四舍五入):

gpa
3.8

问题分解:

  • 限定条件:复旦大学学生,university='复旦大学'
  • gpa最高值:max(gpa);当然也可以按gpa降序排序,取第一名

细节问题:

  • 表头重命名:as

完整代码:

# 方法1
# select max(gpa) as gpa
# from user_profile
# where university='复旦大学';


# 方法2
select gpa
from user_profile
where university='复旦大学'
order by gpa desc limit 1

SQL17 计算男生人数以及平均GPA

题目:现在运营想要看一下男性用户有多少人以及他们的平均gpa是多少,用以辅助设计相关活动,请你取出相应数据。

示例:user_profile

iddevice_idgenderageuniversitygpa
12138male21北京大学3.4
23214male复旦大学4.0
36543female20北京大学3.2
42315female23浙江大学3.6
55432male25山东大学3.8
62131male28北京师范大学3.3

根据输入,你的查询应返回以下结果,结果保留到小数点后面1位(1位之后的四舍五入):

male_numavg_gpa
43.6

问题分解:

  1. 限定条件为 男性用户;
  2. 有多少人,明显是计数,count函数;
  3. 平均gpa,求平均值用avg函数;

细节问题:

根据输出示例,有两个问题需要注意:

  1. 表头重命名,用as语法
  2. 浮点数的平均值可能小数点位数很多,按照示例保存一位小数,用round函数

完整代码:

select count(gender)
as male_num,
round (avg(gpa),1)
as avg_ghp
from user_profile
where gender='male';
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值