单表查询
这段时间在复习sql,去力扣刷专项,感觉力扣的专项不是很有针对性,或者说知识有点零零散散,后面我去牛客找题,发现归类的很好,总共39题,我一口气旋了31题,如果大家正在入门或者和我一样需要复习的话可以前往牛客网刷题哦!本文章的标题也是来自牛客网的归类哦?点击连接跳转牛客网SQL入门
1基础查询
1.1最基本的查询语句
一条查询语句包含最基本的就是select ... from
而最简单的查询就是查询一个表的所有数据:select * from 表名
,
对应题目:SQL1 查询所有列
如果要查询指定的列字段为:select 字段1,字段2,字段3.,,, from 表名
对应题目:SQL2 查询多列
1.2简单处理查询结果
有的时候查询结果的一些字段会有重复的数据,这个时候我们可以使用在要去重的字段前面加distinct
,例如select distinct 字段名...
或者函数(distinct 字段)
对应题目:SQL3 查询结果去重
有的时候我们看数据,可能只要取一个区间内的行数,我们可以使用LIMIT
,使用方法是LIMIT n
意思是从第一行到n
那一行,或者LIMIT n,m
意思是从第n
行到第m
行(n和m都是数字)
对应题目:SQL4 查询结果限制返回行数
在有些查询的业务中,有要求修改字段名,这个时候我们只要在后面加上as
就可以了
对应题目:SQL5 将查询后的列重新命名
2.条件查询
2.1基础排序
当我们要将一组数据按照某种数据排列的时候我们就需要用到排序order by 排序依据字段 (desc/asc)
desc表示降序,asc表示升序,而且这里的排序依据可以有很多个字段,优先级从左到右逐渐降低。
相关题目:
SQL36 查找后排序
SQL37 查找后多列排序
SQL38 查找后降序排列
2.2 基础操作符
这里主要是使用where
过滤,这里主要就是比较运算符=、 !=、 >、 <、 >=、 <=
还有一些语句AND、 OR、 IS NOT、IS
相关题目:
SQL6 查找学校是北大的学生信息
SQL7 查找年龄大于24岁的用户信息
SQL8 查找某个年龄段的用户信息
SQL9 查找除复旦大学的用户信息
SQL10 用where过滤空值练习
2.3 高级操作符
也就是基于2.2的一个扩充混合使用,练习一下就知道了,还会有IN
和NOT
以及like
通配符的模糊查询使用使用
IN 和 NOT IN
与= 和 !=
的区别,IN
代表的是一个及以上数据,而=
只代表一个数据。
sql的通配符有:
1、百分号%
:可匹配恣意类型和长度的字符,假如是中文,请运用两个百分号即%%。
2、下划线_
:匹配单个恣意字符,它常用来约束表达式的字符长度。
3、方括号[]
:指定一个字符、字符串或规模,要求所匹配目标为它们中的任一个。
相应题目:
SQL11 高级操作符练习(1)
SQL12 高级操作符练习(2)
SQL13 Where in 和Not in
SQL14 操作符混合运用
SQL15 查看学校名称中含北京的用户
3.高级查询
3.1计数查询
这一段就是对上面的知识点的综合运用,还涉及到COUNT()
计算函数、AVG()
求平均数、ROUND()
保留几位小数。
对应题目:
SQL16 查找GPA最高值
SQL17 计算男生人数以及平均GPA
3.2分组查询
这里主要是分组的问题,使用的语句是group by
同时在这后面不能使用where
来进行过滤,而是使用having
来进行过滤!
对应题目:
SQL18 分组计算练习题
SQL19 分组计算练习题
SQL20 分组计算练习题
这23题都是十分基础的题目,你刷起来也会十分的顺风顺水的!加紧练习吧!