select 【all|distinct】 字段列表|*|字段名【as】别名 from 数据源
- all,显示所有包含重复的数据
- distinct,不包含重复的数据
数据源
多表数据源,select * from 表1,表2
说明:两个表的字段相加,记录相乘
表别名
select * from stus 【as】 s
;
【where子句】【group by子句】【order by子句】【having子句】【limit子句】
- 【group by】分组统计,按照某个字段进行分组,返回每组的第一条数据
-
统计函数,count(字段名|*),max(字段),min(字段),avg(字段名),sum(字段名)
- 多字段分组
group by channel,brand
- 回溯统计
group by channel,brand with rollup
对所有字段再次进行统计求和 - 【having子句】对group by统计出来的数据进行第二次筛选
- 【order by子句】对where、group by、having子句得到的结果进行一个显示顺序上的控制
- 多字段排序
order by brand,price desc
- 分组统计字段不匹配问题(1.先将原表用order by进行排序 2.查询排序后的新表)
- ase 升序(默认)
- desc 降序
- 多字段排序
- 【limit子句】是对where子句、group by子句、having子句、order by子句得到的结果显示行数进行限制
- offset 偏移量,如果省略表示0
- rows 显示的行数
- 数据分页
- 每一页显示的记录数 rowsPerPage
- 当前的页数 curPage
select * from goods limit (curPage-1)*rowsPerPage,rowsPerPage
联合查询
语法:select 语句A union【all|distinct】select 语句B 分表存储联合查询。为什么要分表查询,为了查询1条记录更快。 【all|distinct】 union选项 默认distinct
- 联合查询的语句如果设计到order by子句,必须于limit子句配合使用,并且使用括号括起来