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

Moh*_*sin 6 sql t-sql sql-server sql-server-2005 subquery

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

SELECT Col_Name,(Subquery) 
  From Table_Name 
 Where Some_condition
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 6

这个:

SELECT y.col_name,
       (SELECT x.column
          FROM TABLE x) AS your_subquery
  FROM TABLE y
 WHERE y.col = ?
Run Code Online (Sandbox Code Playgroud)

...是该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 = ?
Run Code Online (Sandbox Code Playgroud)

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

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

  • 请记住,您的子查询只能包含每个外部表的1个结果集. (2认同)

Iul*_*ian 2

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

SELECT Col_Name,(Subquery) as S
  From Table_Name 
 Where Some_condition
Run Code Online (Sandbox Code Playgroud)