1、查询全部字段
select * from 某表(表名);
2、null的查询:如果查询为null的字段,采用is null,而不用 = null。
//以下代码无法查询出符合条件的数据
//select * from 某表(表名) where 某数据=null;
//null用is匹配
select * from 某表(表名) where 某数据 is null;
3、模糊查找:like。_匹配一个任意字符;%匹配任意字符。
select * from 某表(表名) where 某数据 like '_A%';//表示匹配任意第二个字符是A的数据
4、order by 排序手动升序、降序
//asc:手动升序
select * from 某表(表名) order by 某数据 asc;
//asc:手动降序
select * from 某表(表名) order by 某数据 desc;
5、分组函数
count 取得记录数
sum 求和
avg 取平均
max 取最大的数
min 取最小的数
注意:分组函数自动忽略空值,不需要手动的加where条件排除空值。不能直接使用在where关键字后面。
//错误示范
select 某数据1,某数据2 from 某表(表名) where 某数据2 > avg(某数据2);
//报此错误
//ERROR 1111 (HY000): Invalid use of group function
//由于忽略空值,进行数据统计时可用ifnull(含有空值的字段, 0)将null转为0
6、内连接、外连接:
内连接:join...on... 两张表平行关系;
外连接:left/right join...on... 两张表有主副之分;
7、使用union合并集合
select ...
union
select ...
8、limit,提取部分数据
//提取第3-5条数据
select * from 某表(表名) limit 2,3;
9、DQL执行顺序
//查找
select 5
...
//从某张表中查询
from 1
...
//条件查询
where 2
...
//分组查询(在where后,所以where前不能用分组函数)
group by 3
...
//对分组后的数据进行过滤,不可以单独出现
having 4
...
//对已查找出来的数据进行排序
order by 6
...
//筛选出最终数据
limit 7
...;