キーワードに関する大文字と小文字の区別に関する記事をいくつか見たことがありますが、何かについて少し混乱しており、ネクロ投稿したくないので、ここに投稿することにしました。
SQL Server Management Studio を使用していますが、次のような SQL コードが表示されます。
SELECT * from custTable as A
INNER JOIN custTable as a
ON A.custID = a.custID
そして、次のようなSQLコードも表示されます
SELECT A.CustID FROM custTable A
INNER JOIN
(SELECT a.CustID FROM custTable a
JOIN
(SELECT A.CustID FROM custTable A
JOIN
(SELECT CustID FROM custTable
WHERE [CustID] = 1
GROUP BY [CustID] ) ap ON A.CustID = ap.CustID
GROUP BY A.[CustID] ) m ON A.CustID = m.CustID ) AP ON ap.CustID = A.CustID
どうやら、SQL コードはエイリアスに関して大文字と小文字を区別すると見なされます。しかし、上記と同様のコードが次のように書かれているのを見たことがあります。
SELECT A.CustID FROM custtable A
INNER JOIN
(SELECT a.CustID FROM CustTable a
JOIN
(SELECT A.CustID FROM CUSTTABLE A
JOIN
(SELECT CustID FROM Custtable
WHERE [CustID] = 1
GROUP BY [CustID] ) ap ON A.CustID = ap.CustID
GROUP BY A.[CustID] ) m ON A.CustID = m.CustID ) AP ON ap.CustID = A.CustID
どうやら、SQL コードは、テーブル名に関して大文字と小文字を区別しないと見なされます。
これは、テーブル名が基本的に文字列定数で、エイリアスがローカル変数のようなものだからでしょうか?