我们可以在SELECT和FROM之间编写子查询

时间:2010-03-12 06:07:21

标签: sql sql-server sql-server-2005 tsql subquery

我想知道,如何在SELECT和FROM之间编写子查询

SELECT Col_Name,(Subquery) 
  From Table_Name 
 Where Some_condition

2 个答案:

答案 0 :(得分:6)

此:

SELECT y.col_name,
       (SELECT x.column
          FROM TABLE x) AS your_subquery
  FROM TABLE y
 WHERE y.col = ?

...是SELECT子句中的典型子查询。有人称之为“subselect”。这样:

SELECT y.col_name,
       (SELECT x.column
          FROM TABLE x
         WHERE x.id = y.id) AS your_subquery
  FROM TABLE y
 WHERE y.col = ?

...是一个相关的子查询。它是相关的,因为子查询结果引用了外部查询中的表(在本例中为y)。

实际上,只需在SELECT子句中编写所需的任何其他SELECT语句,但必须用括号括起来。

答案 1 :(得分:2)

你可以这样做,但你必须使用子查询的别名

SELECT Col_Name,(Subquery) as S
  From Table_Name 
 Where Some_condition