在别名,临时表等[SQL Server]之间辨别



在下面的代码中,第二高的是列名称还是表的名称?如果是表的名称,它是临时表还是别名,还是其他?

select ( select distinct salary from employee order by salary desc 
offset 1 rows fetch next 1 rows only ) SecondHighestSalary;

下面的另一个示例。什么是E?别名,表格,列名或其他内容?

select Max(Salary) as SecondHighestSalary from
(select Salary,
             rank() over (order by Salary desc) as 'rank' 
      from Employee
     ) e
where rank = 2

"第二高萨拉里"是列名称。" E"是一个派生的表名。

在两个示例中, SecondHighestSalary是列的别名。这避免了(No Column Name)

出现的数据

e是表格的别名,这是需要的,因此您可以参考表,如果不是该表,则代码将错误。

最新更新