查询语句
单表查询
语法
select 字段1,字段2...from 表名
where 条件
group by field
having 筛选
order by field
limit 限制条件
关键字执行优先级
from, where, group by, having, select, distinct, order by, limit
where 约束
a 比较运算符 < > <= >= !=
b between 80 and 100 在80-100之间
c in(80,90,100) 值是80,90或100
e like 匹配类似字符 %表示任意多个字符, _表示一个字符
f 逻辑运算符 在多个条件之间可以使用逻辑运算符and or not
group by 分组
分组是发生在where之后得到记录而进行的
分组是将所有记录按照某个相同的字段进行归类
可以按照而已字段分组,但是分组完毕后,比如group by post,只能查看post字段,如果想查看组内信息,需要借助于聚合函数
聚合函数
max() min() avg() sum() count()
小窍门:'每'这个字后面的字段,就是我们分组的依据
having 过滤
having后面一定是分组字段或者聚合函数字段
order by 查询排序
asc 升序 默认升序 desc 降序
多表查询
内连接 只连接匹配的行
select * from 表1 inner join 表2 on 条件
左连接 只显示左表的全部记录
select * from 表1 left join 表2 on 条件
右连接
select * from 表1 left join 表2 on 条件
全连接
左表记录 unoin 右表记录
子查询
将一个查询语句嵌套在另一个查询语句中
内层查询语句的查询结果,可以为外层查询语句提供查询条件
子查询中可以包含:in、not in、any、all、exists和not exists等关键字
还可以包含比较运算符