having语句
和where一样的作用,能对聚合函数进行过滤,且只能用于聚合函数,运行在分组过后。而where 不能有聚合函数,且运行在分组过后。
sql语句执行顺序
select子句 from子句 where子句 group by子句 order by子句 having子句.
子查询
是嵌套在主查询中的查询,也称内部查询,包含子查询的语句也称外部查询。
select columnA,(子查询) as column B from 表名;
可以嵌套的位置:
select from where group by having order by .
select中嵌套
select 列1(子查询)as 别名 from 表名
from嵌套
select 列1,列2 from(子查询) as 别名;
where嵌套
select * from 表 where 列1(子查询);
ps:集合不能用`=`只能用`in`
all:结果全部满足才有效。
any:有一条满足就有效。
exists/not exists:判断子查询是否有数据,有就返回值,没有就不返回。
和where一样的作用,能对聚合函数进行过滤,且只能用于聚合函数,运行在分组过后。而where 不能有聚合函数,且运行在分组过后。
sql语句执行顺序
select子句 from子句 where子句 group by子句 order by子句 having子句.
子查询
是嵌套在主查询中的查询,也称内部查询,包含子查询的语句也称外部查询。
select columnA,(子查询) as column B from 表名;
可以嵌套的位置:
select from where group by having order by .
select中嵌套
select 列1(子查询)as 别名 from 表名
from嵌套
select 列1,列2 from(子查询) as 别名;
where嵌套
select * from 表 where 列1(子查询);
ps:集合不能用`=`只能用`in`
all:结果全部满足才有效。
any:有一条满足就有效。
exists/not exists:判断子查询是否有数据,有就返回值,没有就不返回。