13.数据查询之条件筛选:对于select * from 表名:select后可以用as给列名起别名,但只会影响结果集;也可以指定显示哪些列;
select查询可以包含子查询(另一个select语句)实现嵌套;
消除重复行:select 后列名前使用distinct;(注意是行不是列)
比较运算符的不等于:!=或者<>;
模糊查询:like为关键字,%表示任意多个字符,_表示一个任意字符; (如:...... where name like ‘黄%’;)
范围查询: in表示一个非连续的范围内;between表示一个连续的范围内;
空判断:is null(‘’并不是null);
优先级:小括号>not>比较运算符>逻辑运算符;
14.数据查询之聚合:聚合的含义就是通过聚合函数快速得到结果,此结果不是具体数据即不会显示数据集,而是对数据进行运算 后的概括;下面是5个聚合函数:count(*/列名)表示计算总行数,如:select count(*) from student;
max/min(列)表示求此列的最大/小值;
sum(列)表示求此列的和;
avg(列)表示求此列的平均值;
15.数据查询之分组:分组就是将字段相同的数据;分组后只能查询相同的数据列,有差异的数据列不会显示;
语法:select 列1,列2,聚合...... from 表名 group by 列1,列2,列3......
分组后筛选:关键字having,语法为:
select 列1,列2,聚合...... from 表名 group by 列1,列2,列3...... having 列1,....,聚合......
where和having的区别在于:where对原始数据集进行筛选,而having对分组后的结果集进行筛选;
16.数据查询之排序:对数据按大小进行排序,语法:
select * from 表名 order by 列1 asc|desc,列2 asc|desc,......
默认是从小到大,asc即升序,从小到大,desc即降序,从大到小,如果列1值同则看列2,依次往后;
17.数据查询之分页:语法:select * from 表名 limit start,count,表示从start开始获取count条数据,start从0开始记;其中start和count都是需要给定值的;
18.完整查询语句的格式:select distinct *
from 表1
inner|left|right join 表2 on 表1和表2的关系
where ......
group by ...... having ......
order by ......
limit start,count