以下select语句中select结构的术语是什么,以粗体显示?
将a.t1选为a,(SELECT b.n as b FROM b WHERE b.x = a.t1), c.t2 as c 从a,c WHERE a.x = c.x
我在解释这可以在oracle中完成,但当被问及它的名称时,我想不出任何术语。有这个术语吗?或者只是选择一个选择结果?
编辑:扩展查询以使子查询使用清除
答案 0 :(得分:14)
这是一个子查询。如果b.n
在外部查询中引用了别名为b
的表格,那么它可以称为correlated subquery。
正如guigui42所说,它也是一个scalar
查询,因为它最多只返回一列和一行。实际上,您必须注意确保最多只返回一行,否则查询可能会在以后某个时间崩溃。通常使用TOP 1
或同等版本来防范这种情况。
答案 1 :(得分:5)
我会说“标量子查询”
编辑:正如RedFilter所说,它也是一个相关的子查询。
所以它是标量相关子查询
答案 2 :(得分:4)
嵌套的子查询。
......如果使用不当(经常使用),表现差的人就会出名。
答案 3 :(得分:1)
这被称为sub-select
。