SQL练习(牛客网非技术快速入门)

SQL3 查询结果去重

题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据。

示例:user_profile

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

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

university
北京大学
复旦大学
浙江大学
山东大学
select distinct university 
from user_profile

---------------------------------------------------------------------------------------------------------------------------------

SQL4 查询结果限制返回行数

题目:现在运营只需要查看前2个用户明细设备ID数据,请你从用户信息表 user_profile 中取出相应结果。

示例:

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

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

device_id
2138
3214

select device_id 
from user_profile 
order by id
limit 2

使用LIMIT限制结果集
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。
如果只给定一个参数,它表示返回最大的记录行数目。
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1。
初始记录行的偏移量是 0(而不是 1)。

检索记录行 6-10
SELECT * FROM table LIMIT 5,5
检索记录行 11-last
SELECT * FROM table LIMIT 10,-1
检索前 5 个记录行
SELECT * FROM table LIMIT 5

---------------------------------------------------------------------------------------------------------------------------------

SQL5 将查询后的列重新命名

题目:现在你需要查看前2个用户明细设备ID数据,并将列名改为 'user_infos_example',,请你从用户信息表取出相应结果。

示例:user_profile

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

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

user_infos_example
2138
3214
select device_id as user_infos_example
from user_profile
order by id
limit 2

---------------------------------------------------------------------------------------------------------------------------------

SQL36 查找后排序

题目:现在运营想要取出用户信息表中的用户年龄,请取出相应数据,并按照年龄升序排序。

示例:user_profile

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

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

device_idage
653420
213821
321423
231523
543225
213128
select device_id, age
from user_profile
order by age

---------------------------------------------------------------------------------------------------------------------------------

SQL37 查找后多列排序

题目:现在运营想要取出用户信息表中的年龄和gpa数据,并先按照gpa升序排序,再按照年龄升序排序输出,请取出相应数据。

用户信息表:user_profile

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

你的查询应返回以下结果:

device_idgpaage
65343.220
21313.328
21383.421
23153.623
54323.825
3214423
select device_id, gpa, age
from user_profile
order by gpa, age

---------------------------------------------------------------------------------------------------------------------------------

SQL38 查找后降序排列

题目:现在运营想要取出用户信息表中对应的数据,并先按照gpa、年龄降序排序输出,请取出相应数据。

示例 user_profile:

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

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

device_idgpaage
3214423
54323.825
23153.623
21383.421
21313.328
65433.220
select device_id, gpa, age 
from user_profile 
order by gpa desc, age desc;

---------------------------------------------------------------------------------------------------------------------------------

SQL6 查找学校是北大的学生信息

题目:现在运营想要筛选出所有北京大学的学生进行用户调研,请你从用户信息表中取出满足条件的数据,结果返回设备id和学校。

示例:user_profile

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

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

device_iduniversity
2138北京大学
6543北京大学
select 
    device_id, university
from 
    user_profile
where
    university = '北京大学'

---------------------------------------------------------------------------------------------------------------------------------

SQL7 查找年龄大于24岁的用户信息

题目:现在运营想要针对24岁以上的用户开展分析,请你取出满足条件的设备ID、性别、年龄、学校。

用户信息表:user_profile

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

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

device_idgenderageuniversity
5432male25山东大学
select 
    device_id
    ,gender
    ,age
    ,university
from 
    user_profile
where 
    age > 24

---------------------------------------------------------------------------------------------------------------------------------

SQL8 查找某个年龄段的用户信息

题目:现在运营想要针对20岁及以上且23岁及以下的用户开展分析,请你取出满足条件的设备ID、性别、年龄。

用户信息表:user_profile

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

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

device_idgenderage
2138male21
6543female20
2315female23
select 
    device_id
    ,gender
    ,age
from 
    user_profile
where
    age >= 20
and 
    age <= 23

这里用between也可以

SELECT device_id,gender,age FROM user_profile WHERE age BETWEEN 20 AND 23

---------------------------------------------------------------------------------------------------------------------------------

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 NOT IN ('复旦大学')
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
    (university IN ('山东大学') AND gpa > 3.5)
OR
    (university IN ('复旦大学') AND gpa > 3.8)

---------------------------------------------------------------------------------------------------------------------------------

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 '%北京%'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值