2

いくつかの SQL Server ストアド プロシージャを読んでいます。これを見てください:

select top 1 t.Id
from (
    select SomeField1 as Id
    from dbo.SomeTable
    where SomeField2 = @someVariable
    union select -1 as Id
) t

これは私がそれを理解する方法です:

  1. クエリによって返された最初のアイテムを返す

  2. フィールド SomeField1 にはエイリアスがあります: Id

  3. SomeField2 が @someVariable に等しい SomeTable というテーブルから選択します

私が得る限り。

'union select -1 as Id' は何をしますか?

最後の行の意味は何ですか:

) t

ここ?

ありがとうございました!

4

1 に答える 1

5

何をしunion select -1 as Idますか?

where SomeField2 = @someVariableサブクエリに別のレコードを追加するため、句に一致するレコードがない場合に値を返すことが保証されます。

最後の行の意味は何ですか: ') t'

これはサブクエリの閉じ括弧で、エイリアスを与えますt。と同等です

) AS t
于 2013-09-10T15:04:40.283 に答える