今天发现了一个练习SQL的网站--牛客网。里面题目挺多的,按照入门、简单、中等、困难进行了分类,可以直接在线输入SQL语句验证是否正确,并且提供了测试表的创建语句,也可以方便自己拓展练习,感觉还是很不错的一个网站,今天把入门级的练习题目整理了部分,后续再继续整理其他题目。
测试地址
牛客网在线编程_SQL篇_非技术快速入门 (nowcoder.com)
测试方法
测试数据
创建表SQL
drop table if exists user_profile;
CREATE TABLE `user_profile` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`gender` varchar(14) NOT NULL,
`age` int ,
`university` varchar(32) NOT NULL,
`gpa` float);
INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学',3.4);
INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学',4.0);
INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学',3.2);
INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学',3.6);
INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学',3.8);
INSERT INTO user_profile VALUES(6,2131,'male',28,'北京师范大学',3.3);
入门练习题目
- 现在运营想要查看用户信息表中所有的数据,请你取出相应结果
- 现在运营同学想要用户的设备id对应的性别、年龄和学校的数据,请你取出相应数据
- 现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据(distinct)
- 现在运营只需要查看前2个用户明细设备ID数据,请你从用户信息表 user_profile 中取出相应结果
- 现在你需要查看前2个用户明细设备ID数据,并将列名改为 'user_infos_example'
- 现在运营想要筛选出所有北京大学的学生进行用户调研,请你从用户信息表中取出满足条件的数据,结果返回设备id和学校
- 现在运营想要针对24岁以上的用户开展分析,请你取出满足条件的设备ID、性别、年龄、学校
- 现在运营想要针对20岁及以上且23岁及以下的用户开展分析,请你取出满足条件的设备ID、性别、年龄
- 现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据
- 现在运营想要对用户的年龄分布开展分析,在分析时想要剔除没有获取到年龄的用户,请你取出所有年龄值不为空的用户的设备ID,性别,年龄,学校的信息
- 现在运营想要找到男性且GPA在3.5以上(不包括3.5)的用户进行调研,请你取出相关数据
- 现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研,请你取出相关数据(使用OR实现)
- 现在运营想要找到学校为北大、复旦和山大的同学进行调研,请你取出相关数据
- 现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据(该题对于小数点后面的0不需要计算与统计,后台系统会统一输出小数点后面1位)
- 现在运营想查看所有大学中带有北京的用户的信息,请你取出相应数据
- 运营想要知道复旦大学学生gpa最高值是多少,请你取出相应数据[结果保留到小数点后面1位(1位之后的四舍五入)]
- 现在运营想要看一下男性用户有多少人以及他们的平均gpa是多少,用以辅助设计相关活动,请你取出相应数据[结果保留到小数点后面1位(1位之后的四舍五入)]