牛客SQL练习详解 02:条件查询


叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
在这里插入图片描述

1、基础排序

sql36 查找后排序

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

降序:select device_id,age from user_profile order by age desc;
order by用于对取出的数据进行升序排序

order by age       默认以 age 升序
order by age asc   以 age 升序

order by age desc  以 age 降序

在这里插入图片描述

sql37 查找后多列排序

题目:
现在运营想要取出用户信息表中的年龄和gpa数据,
并先按照gpa升序排序,再按照年龄升序排序输出,
请取出相应数据。
多个写法:
select device_id,gpa,age from user_profile ORDER BY gpa ASC, age ASC;
select device_id,gpa,age from user_profile ORDER BY gpa,age;
多列排序注意有优先级顺序,且默认都按照升序排序。

先按照 GPA 排序再按照年龄排序的意义在于:
当多个用户具有相同的 GPA 时,它们会按照年龄进行排序。
具有相同 GPA 的用户会根据他们的年龄值升序排列,
以便更好地了解具有相同 GPA 的用户之间的年龄分布情况。

在这里插入图片描述

sql38 查找后降序排列

题目:
现在运营想要取出用户信息表中对应的数据,
并先按照gpa、年龄降序排序输出,请取出相应数据。
select device_id, gpa, age from user_profile order by gpa desc, age desc
列的顺序决定排序的优先级,每个列可以单独制定排序的方式

在这里插入图片描述

2、基础操作符

sql6 查找学校时北大的学生信息

题目:
现在运营想要筛选出所有北京大学的学生进行用户调研,
请你从用户信息表中取出满足条件的数据,结果返回设备id和学校。
1、使用where 条件查询
select device_id,university from user_profile where university = "北京大学"

2、使用like 模糊查询
select device_id,university from user_profile where university like "北%"
LIKE关键字用于在WHERE子句中进行模糊匹配。
通过结合通配符(通常是百分号 % 和下划线 _),
可以实现对文本数据的模糊搜索,从而提高查询的灵活性。

LIKE关键字的通配符解释:

%:代表零个或多个字符。
例如,like 'a%'将匹配以字母"a"开头的任何字符串。

_:代表单个字符。
例如,like '_r%'将匹配第二个字符为"r"的任何字符串。

在这里插入图片描述

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

题目:
现在运营想要针对24岁以上的用户开展分析,
请你取出满足条件的设备ID、性别、年龄、学校。
select device_id, gender, age, university 
from user_profile 
where age>24
比较运算符:
在某个范围内(小值在前,含最值){between...and...};
不等于{<>!=}
在之后列表中的值多选1 {in...}
like占位符 {模糊匹配(_匹配单个字符,%匹配的多个字符)常见用于数字+字母组合}
为空 {is null}


逻辑运算符:
and 或 && {并且(多个条件同时成立)}
or 或 || {或者(多个条件任意一个成立)}
not 或 !{非,不是}

在这里插入图片描述

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

题目:
现在运营想要针对20岁及以上且23岁及以下的用户开展分析,
请你取出满足条件的设备ID、性别、年龄。
select device_id, gender, age from user_profile 
where age between 20 and 23     # between包含两端
# where age>=20 and age<=23
注意:between包含两端
 
A between m and n
A>=m and A<=n都可以

在这里插入图片描述

sql9 查找chuchu

题目:
现在运营想要查看除复旦大学以外的所有用户明细,
请你取出相应数据
select device_id, gender, age, university from user_profile 
where university !='复旦大学'
# where university <> '复旦大学'
# where university not in('复旦大学')
# where university not like '复旦%'

在这里插入图片描述

3、高级操作符

sql11 高级操作符练习(1)

题目:
现在运营想要找到男性且GPA在3.5以上(不包括3.5)的用户进行调研,
请你取出相关数据。
select device_id, gender, age, university, gpa from user_profile 
where gender='male' and gpa>3.5
where的多条件筛选:
加入 AND 逻辑符号,需要两个同时满足的行数据才会被筛选出来。

在这里插入图片描述

sql12 高级操作符练习(2)

题目:
现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研,
请你取出相关数据(使用OR实现)
select device_id,gender,age,university,gpa 
from user_profile 
where university in('北京大学') || gpa >3.7

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

在这里插入图片描述

sql13 Where in 和Not in

题目:
现在运营想要找到学校为北大、复旦和山大的同学进行调研,
请你取出相关数据。
select device_id, gender, age, university, gpa from user_profile
where university in ('北京大学','复旦大学','山东大学');

select device_id,gender,age,university,gpa FROM user_profile 
where university='北京大学' or university='复旦大学' or university='山东大学';
满足多项或条件的,用in比用or一个一个列举方便一点.

在这里插入图片描述

sql14 操作符混合运用

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

SELECT device_id, gender, age, university,gpa from user_profile where gpa > 3.8 and university = '复旦大学' 
UNION
SELECT device_id, gender, age, university,gpa from user_profile where gpa > 3.5 and university = '山东大学'2 or

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

在这里插入图片描述

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

题目:
现在运营想查看所有大学中带有北京的用户的信息,
请你取出相应数据。
select device_id, age, university from user_profile 
# where university like ('%北京%')
where university regexp '北京'
regexp 运算符用于 sql 查询中的文本模式匹配。
其语法为:where column_name regexp 'pattern',其中 pattern 是正则表达式模式。

regexp 使用特殊字符指定匹配规则,以下是 REGEXP 中常用的特殊字符:
. ():匹配任何单个字符。
* (星号):匹配零个或多个前面的字符。
+ (加号):匹配一个或多个前面的字符。
? (问号):匹配前面的字符零次或一次。
[] (方括号):匹配方括号内的任何一个字符。
^ (脱字符):匹配字符串的开头。
$ (美元符号):匹配字符串的结尾。

在这里插入图片描述

4、其他

在这里插入图片描述

Ending!
更多课程知识学习记录随后再来吧!

就酱,嘎啦!

在这里插入图片描述

注:
人生在勤,不索何获。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发芽ing的小啊呜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值