我认为有人写了一个过于复杂的查询。我不太明白' AS'在末尾。基本上我可以在这个脚本中看到两个子查询。为了减少它,我只包括一列。
SELECT [tableau_fact_group_committee_pl_agg].[dim_div_mgmt_key] AS [dim_div_mgmt_key]
FROM
(
SELECT fact_group_pl_agg.[dim_div_mgmt_key]
FROM fact_group_pl_agg
join dbo.dim_DIV_MGMT_v d on fact_group_pl_agg.dim_div_mgmt_key = d.dim_div_mgmt_key
WHERE EXIST
(SUB QUERY 2: SELECT FROM WHERE)
)
AS
[tableau_fact_group_committee_pl_agg]
INNER JOIN table 1 on col1 = col2
INNER JOIN table 2 on col3 = col4
任何人都可以告诉我什么" AS [tableau_fact_group_committee_pl_agg] INNER JOIN"对查询做了什么? 跟随子查询很简单,因为它每次都会使数据集变小。但我不会从" AS"开始关注任何事情。谢谢。
答案 0 :(得分:1)
AS
用于引入别名,即另一个名称,无论是列还是查询结果。在这种情况下,查询(SELECT fact_group_pl_agg.[dim_div_mgmt_key] ...)
的结果集将被赋予别名[tableau_fact_group_committee_pl_agg]
。
之后,INNER JOIN
子句只是将第一个查询的结果集连接到具有指定条件的指定表。
答案 1 :(得分:0)
在tsql中,查询中的每个表表达式(表,子查询,表值函数等)必须有唯一的名称。 AS关键字允许您为表表达式指定名称(称为别名),满足子查询和表值函数的命名要求,或者为表提供更短或更有意义的名称。 AS是可选的,并且如果您在select t.* from mytable t join (select top 1 id from dbo.mytable2) t2 on t2.id=t.id
行中执行某些操作,在这种情况下,mytable和子查询表表达式都是别名而不使用AS