13
次の3つのSelectクエリは、テーブルエイリアスと列名の間に余分なスペースを持つWhere句に関係なく、同じ結果を生成します。彼らには同じ実行計画もあります。スペースの存在が構文エラーを投げないのはなぜですか?このWhere句のスペースが構文エラーを引き起こさないのはなぜですか?
DECLARE @TblX TABLE(
ColX int
,ColY float
)
-----As it normally should be
SELECT *
FROM @TblX X
WHERE X.ColX = 1
----Even this works
SELECT *
FROM @TblX X
WHERE X .ColX = 1
----And this too
SELECT *
FROM @TblX X
WHERE X. ColX = 1
私は、彼らは同じクエリであると言うでしょうか、それともクエリが何のタプルもなく実行されたのでしょうか? –
それはなぜ合法的ではありませんか? Pythonでも動作します。 – Kevin