1.条件
使用where语句对表中的数据筛选,结果为true的行会出现在结果集中
语法如下:
select * from 表名 where 条件;
1.1比较运算符
等于=
大于>
大于等于>=
小于<
小于等于<=
不等于!=或<>
1.2逻辑运算符
and
or
not
1.3模糊查询
like
%表示任意多个任意字符
_表示一个任意字符
1.4范围查询
in表示在一个非连续的范围内
between ... and ...表示在一个连续的范围内
1.5空判断
注意:null与''是不同的
判空is null
判非空is not null
1.6优先级
小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
2.聚合
为了快速得到统计数据,提供了5个聚合函数
count(*)表示计算总行数,括号中写星与列名,结果是相同的
max(列)表示求此列的最大值
min(列)表示求此列的最小值
sum(列)表示求此列的和
avg(列)表示求此列的平均值
3.分组
按照字段分组,表示此字段相同的数据会被放到一个组中
分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中
3.1可以对分组后的数据进行统计,做聚合运算
语法:
select 列1,列2,聚合... from 表名 group by 列1,列2,列3...
3.2分组后的数据筛选
语法:
select 列1,列2,聚合... from 表名
group by 列1,列2,列3...
having 列1,...聚合...
having后面的条件运算符与where的相同
where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
having是对group by的结果进行筛选
4.排序
为了方便查看数据,可以对数据进行排序
语法:
select * from 表名 order by 列1 asc|desc,列2 asc|desc,...
将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推
默认按照列值从小到大排列
asc从小到大排列,即升序
desc从大到小排序,即降序
5.获取部分行
当数据量过大时,在一页中查看数据是一件非常麻烦的事情
语法
select * from 表名 limit start,count
从start开始,获取count条数据
start索引从0开始