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语句能不用尽量不用
其他
-
SQL语句中获取系统时间CURDATE()
-
between x1 and x2 / 查询x1到x2之间的元素,包含x1,x2
-
当前limit语句不可以在 in、any、all、some、中使用
-
简单联合查询
select * from 表1 A,表2 B where 条件语句