select 后面紧跟一个select查询,是什么语法?

创建临时表

CREATE table #_tmp1218 (A int,B int)

插入数据

insert into #_tmp1218 values (1,2)

insert into #_tmp1218 values (23)

insert into #_tmp1218 values (3,4)

用下面这个语句查询

select (select A from #_tmp1218 where #_tmp1218.A = b.B) from #_tmp1218 b

查询结果为

图片说明

请问上面那条语句,什么语法?百度很久还是看不明白

select后面紧跟一个select,这个执行过程,是什么样的?

先执行括号内的查询语句,然后将查询的结果作为一个新的表参与外部的查询

子查询啊。兄弟。先执行括号里面的,括号里面执行完事,然后执行外面的select

先执行括号里面的,括号里面执行完事,然后执行外面的select

select (select A from #_tmp1218 where #_tmp1218.A = b.B) from #_tmp1218 b
先查询 #_tmp1218 表,然后给这个表一个别名b
然后执行 (select A from #_tmp1218 where #_tmp1218.A = b.B)
他的意思就是自关联,找出A字段和B字段相等的数据,如果没有相等的就显示null
希望可以解答您的疑惑,详细执行步骤请参考如下文章
https://blog.csdn.net/mango_love/article/details/44836829

子查询,先执行括号里面的子查询