我正在阅读一些SQL Server存储过程。 请看一下这个:
select top 1 t.Id
from (
select SomeField1 as Id
from dbo.SomeTable
where SomeField2 = @someVariable
union select -1 as Id
) t
这就是我理解的方式:
返回查询返回的第一项
字段SomeField1将具有别名:Id
我们从名为SomeTable的表中选择,其中SomeField2等于@someVariable
到目前为止,我明白了。
'union'选择-1作为Id'做什么?
最后一行的含义是什么:
) t
这里吗?
谢谢!
答案 0 :(得分:5)
union select -1 as Id
做了什么?
它向子查询添加了另一条记录,因此如果没有记录与where SomeField2 = @someVariable
子句匹配,则保证返回一个值。
最后一行的含义是什么:
') t'
这是子查询的结束表,它为别名t
提供了它。它相当于
) AS t