这个SQL select构造叫什么?

时间:2010-09-22 13:31:29

标签: sql select terminology

以下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中完成,但当被问及它的名称时,我想不出任何术语。有这个术语吗?或者只是选择一个选择结果?

编辑:扩展查询以使子查询使用清除

4 个答案:

答案 0 :(得分:14)

这是一个子查询。如果b.n在外部查询中引用了别名为b的表格,那么它可以称为correlated subquery

正如guigui42所说,它也是一个scalar查询,因为它最多只返回一列和一行。实际上,您必须注意确保最多只返回一行,否则查询可能会在以后某个时间崩溃。通常使用TOP 1或同等版本来防范这种情况。

答案 1 :(得分:5)

我会说“标量子查询

编辑:正如RedFilter所说,它也是一个相关的子查询。

所以它是标量相关子查询

答案 2 :(得分:4)

嵌套的子查询。

......如果使用不当(经常使用),表现差的人就会出名。

答案 3 :(得分:1)

这被称为sub-select

相关问题