括号表示法后的表名

时间:2015-07-08 20:17:40

标签: sql

我正在阅读其他人写过的一些旧的SQL代码,我无法理解。我在这里简化了它的结构,但是如果有人能够指导我完成正在发生的事情,那将是值得赞赏的!您可以忽略特定的列操作,因为它们只是示例。

SELECT table.*,
  column1 - column2
  AS 'col1 - col2',

 ...

  columnn
  AS 'coln'

FROM
  (SELECT

  ...

  ) table

我不明白的是最后一行。我假设它是" table"的定义。在FROM (SELECT ...)部分中,) table部分表示已定义表的名称。

提前致谢!

2 个答案:

答案 0 :(得分:2)

内部选择需要别名

select alias_name.* from
(
   select * from some_table ...
) alias_name

答案 1 :(得分:1)

'表'在最后一行是子查询的别名。

在T-SQL中,如果您要从子查询中进行选择,则必须为AFAIK指定子查询的别名。 您可以根据需要为别名命名。完全可以像这样使用它

select * from
   ( select * from ... ) as X

(as关键字不是必需的,但我总是使用' as'来指定别名。