Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » ジョイン:複数テーブルからのデータ検索 » ナチュラル・ジョイン

 

NATURAL JOIN を使用した場合のエラー

NATURAL JOIN 演算子は、等価ではないカラムを等価と見なすと問題が発生する可能性があります。たとえば、次のクエリを実行すると、意図しない結果が生成されます。

SELECT *
FROM SalesOrders NATURAL JOIN Customers;

このクエリを実行してもローは返されません。内部的に次の ON 句が生成されます。

FROM SalesOrders JOIN Customers
   ON SalesOrders.ID = Customers.ID

SalesOrders テーブル内の ID カラムは注文の ID 番号です。Customers テーブル内の ID カラムは顧客の ID 番号です。これらはどれも一致しません。もちろん、一致があったとしても意味がありません。