SQL语句的补充(一)教程
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只要有一个条件成立局返回trueall所有条件成立才返回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 条件语句