SQL知识点
子查询可以出现的位置和不可以出现的位置(准确性待商榷)
可以出现的位置
子查询语句可以嵌套在 sql 语句中任何表达式出现的位置。
查询sql 语句的组成一般是这样
1 |
|
字段、表名、查询条件都可以嵌套子查询!
1 |
|
常见错误写法
1 |
|
这样写是会报错的,因为没有给子查询指定别名
正确写法
1 |
|
注意点
如果<表名>嵌套的是子查询,必须给表指定别名,一般会返回多行多列的结果集,当做一张新的临时表
只出现在子查询中而没有出现在父查询中的表不能包含在输出列中
多层嵌套子查询的最终结果集只包含父查询(最外层的查询)的select 语句中出现的字段
子查询的结果集通常会作为其外层查询的数据源或用于条件判断
where、select、having、from。
在select后面使用应注意什么?
在select后面使用的子查询必须为“单行子查询”。
含义是select的子查询只能有1条记录,不能有多条记录。
为什么使用having不使用where呢?
因为在where语句中有些函数不可以使用,所以要用having。
from后面除了跟一个表名外还可以跟什么?
from后面本质上跟一个集合,只要是集合都可以放在from后面。比如,可以放一个select语句。
不可以出现的问题
不可以在group by的后面使用子查询
SQL知识点
https://leehoward.cn/2022/02/22/SQL知识点/