order排序
排序:
order by
排序字段1 排序规则, 字段2 规则2,…
可选参数 : asc(升序) , desc(降序) , 默认是 asc
聚合函数
官方提供的方便操作的函数.
常见聚合函数的有:
count(*)
统计数量max(字段)
找出该字段的最大值min(字段)
找出该字段的最小值sum(字段)
对该字段求和avg(字段)
对该字段求平均值round(值,想要保留的小数位数)
一般是四舍五入
count
max
min
sum
avg
round
group分组
group by
用于分组(按照某个特定的字段进行分类),分组的字段要出现在 select 的后面.- 格式:
group by
字段名- 时常组合用法
group by + 聚合函数
,分组统计/计算group by + group_concat()
分组 + 内容链接为一个字符串group by + with rollup
分组 + 小计
limit分页查询
就是从数据库中查询指定条数.
格式:select * from 表名 limit 起始,数量
分页查询:根据每页的显示数量,计算起始位置和结束位置 一般为(当前页数-1)*每页大小,每页大小
为[起始,数量].
连接查询
内连接
内连接:查询的结果为两个表匹配到的数据,默认是笛卡尔积.
- 关键字
inner join
select 字段 from 表1 inner join 表2 where/on 表1.字段 = 表2.字段
可以用where 也可以用 on- 连接完成后得到的大表,字段数量一定是进行连接的表的字段数量的和.
左外连接
- 左外连接
主表 left join 从表
- 左外连接另外一个表,在从表中没有找到匹配,从表部分补 NULL
右外连接
- 右外连接
从表 right join 主表
- 右外连接一个表,在从表中没有找到匹配,从表部分补 NULL
子查询
- 在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询.
- 子查询的分类:
- 标量子查询 : 子查询返回的是 1行1列
- 列子查询: 子查询返回的是1列多行
- 行子查询: 子查询返回 1行多列
- 表子查询: 子查询返回 多行多列
标准SQL的书写格式顺序:
select 字段1,字段2,...
from 表名
[where 条件]
[group by 字段名]
[order by 字段名 排序规则]
[having 条件]
[limit 起始位置,数量]
如有错误还望指出