SQL语句的补充(一)

时间:2022-03-25 04:51:22

 

SQL语句

分组查询/group by

 -- 分组查询 group by
 -- 分组查询只可以查询分组的列和聚合函数
 ?
 select 分组列,聚合函数 from 表名 group by 分组列
 --如果分组的列有多个,则要多个列的条件完全一致才会被化为一组
 ?
 -- 分组过滤 having
 ?
 select 分组列,聚合函数 from 表名 group by 分组列 having 条件
 -- having 后面的条件需要注意条件的参数

子查询

 -- 子查询语句常用作:列、from后的表、where后的条件、group by后的语句、order by后的语句
 -- 前三种是常用的
 ?
 --相关子查询(少用,不推荐)
 ?
 select 列名,(子查询语句) 别名 from 表名
 --效率低下
 ?
 --非相关子查询
 ?
 select 别名 from (子查询语句) 别名
 --子查询语句作为查询的表名
 ?
 select 列名 from 表名 where 条件语句(子查询语句)
 ?
 -- 需要注意的是子查询语句需要被圆括号包含

any与all

如果条件是与一个值比较用:=

如果条件是与多个值比较用:in any all

语句 作用
any 只要有一个条件成立局返回true
all 所有条件成立才返回true

any/all前需要添加逻辑判断符

对于any/all语句能不用尽量不用

其他

  1. SQL语句中获取系统时间CURDATE()

  2. between x1 and x2 / 查询x1到x2之间的元素,包含x1,x2

  1. 当前limit语句不可以在 in、any、all、some、中使用

  1. 简单联合查询

     select * from 表1 A,表2 B where 条件语句