DQL:对数据进行查询
基本查询:select 列名1,列名2 from 表名;-- 查询指定列
select *from 表名;--查询所有列
select 列名1,列名2 from 表名; -- 查询单列
select distinct 列名 from 表名; -- 去除重复记录
select 列名 as 别名, 列名 别名; -- 起别名
条件查询:select *from 表名 where 条件1 and 条件2;
select *from 表名 where between 值1 and 值2; -- 在范围内查找
在java中用”==”来判断两值相等,而在SQL中需要用”=”不能用”==”
在java中用”!=”来判断两值不相等,而在SQL中用”<>”也可以
在java中用”||”来表示或者,而在SQL中用”or”也可以
or多的情况下也可以用 in(值1,值2...)判断
null 的比较需要用 is/is not(例: where 列名 is null)
模糊查询:
通配符:
_:代表单个任意字符
%:代表任意个数字符
select *form 表名 where 列名like ‘马%’ ;
select *form 表名 where 列名like ‘_马%’ ;
select *form 表名 where 列名like ‘%马%’
排序查询:
select *from 表名 order by 列名 方式;-- 单字段排序
select *from 表名 order by 列名1 方式,列名2 方式;-- 多字段排序(第一种排序方法有相同,按第二张方法排序)
方式:asc:升序排列(默认)
desc:降序排列
分组查询:select count(列名) from 表名;-- 记数(非空)
select max(列名) from 表名;-- 最高
select min(列名) from 表名;-- 最低
select sum(列名) from 表名;-- 总数
select avg(列名) from 表名;-- 平均
null 值不参与所有聚合函数运算
分组查询:select 列名 聚合函数(列名),聚合函数(*) as 别名 from 表名 group by 列名 where 条件 having 条件
执行顺序:where>聚合函数>having
分页查询:select * from 表名 limit(值1,值2); -- 起始索引,查询条目数;
起始索引=(当前页码-1)*每页显示条数;