私は1つのSQL文を分析しています。エイリアスに関しては、私には分からないものがあります。誰かがそれを説明しようとすることができるかどうか質問したいと思います。だから、これはあなたがエイリアスが句つのフィールドがある場合にはしかし、声明の中で、すべての3つのテーブルのために提供し、データ選択で常に使用だけでなく、参加している見ることができるように文がテーブルエイリアスが提供されていない場合、どのテーブルが使用されますか?
SELECT
a.RecordID
, a.Account
, b.RecordID
, c.SomeField as AlternativeFieldName
FROM TableA a
LEFT JOIN TableB b
ON a.RecordID=b.RecordID
LEFT JOIN TableC c
ON b.RecordID=c.RecordID
WHERE a.DayFrom >= YYYYMMDD and a.DayFrom < YYYYMMDD
AND b.Field1 is null
AND Field2 = 'SOME_VALUE'
どのように見えるかですエイリアスが提供されていない上記のテーブルの1つから取得します。私はこれが正しいと思います.SQLがソーステーブルとして何を取っているのか、そうでなければエラーを投げますか?
このpageでは、何か似たようなことを試しましたが、実際にはうまくいきましたが、何らかのエラーが予想されました。 SQLは、複数のテーブルを結合する場合にエイリアスを使用するように強制していました。ここに文はありますか?
SELECT *
FROM Customers c
JOIN Orders o
ON c.CustomerID = o.CustomerID
WHERE OrderDate = '1996-07-04'
Thxは事前に賞賛です!
カラム名があいまいであるとエラーが発生します。そうでなければ、クエリが機能します。 –
OrderDateが1つのテーブルでのみ見つかっていてambiguoutyがなく、クエリが機能する場合 – GuidoG