これはコメントするには長すぎます。自然結合は使用しないでください。自然な結合をわざわざ学習しないでください。彼らは忌まわしいものです。
なんで?結合条件は、同じ名前の列に基づいています 。自然結合では、宣言された外部キー関係も考慮されません。これは非常に危険です。または、私の場合は、ほとんどすべてのテーブルにCreatedAt
があるためです。 およびCreatedBy
、とにかく役に立たない。
代わりに、join
をリストしてください キー。あなたの場合(select *
があるため )、using
条項が最も適切です:
SELECT *
FROM R JOIN
S
USING (A, B);
これには、キーがクエリに明示的に表示されるという利点もあり、エラーの範囲が大幅に減少します。