【问题标题】:Can we write subquery in between SELECT and FROM我们可以在 SELECT 和 FROM 之间写子查询吗
【发布时间】:2010-03-12 06:07:20
【问题描述】:

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

SELECT Col_Name,(Subquery) 
  From Table_Name 
 Where Some_condition

【问题讨论】:

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


    【解决方案1】:

    这个:

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

    ...是SELECT 子句中的典型子查询。有人称其为“子选择”。这个:

    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
    

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 2020-09-18
      • 2019-08-01
      相关资源
      最近更新 更多