查询语句

单表查询
语法
  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等关键字
  还可以包含比较运算符

原文地址:https://www.cnblogs.com/Nopeeee/p/9941437.html