使用派生表的SQL Server查询生成语法错误

时间:2012-02-19 18:58:21

标签: sql sql-server tsql

您好类似

SELECT *
FROM
(
  SELECT *  
  FROM 
  Table1
)

我想知道为什么会出错

Incorrect syntax near ')'.

有任何帮助吗?在此先感谢..

3 个答案:

答案 0 :(得分:6)

SELECT *
FROM
(
  SELECT *  
  FROM 
  Table1
) x

您需要为派生表命名。

答案 1 :(得分:2)

因为您需要添加别名。以这种方式运行:

SELECT * FROM (
   SELECT * FROM Table1
) T

只是为了记录,MySQL在相同情况下显示以下错误:)

  

每个派生表都必须有自己的别名

答案 2 :(得分:1)

您可以使用AS关键字使其更具可读性

SELECT * FROM ( SELECT * FROM table1 )  as table2