Transact-SQL 外部ジョイン演算子 *= と =* は旧式であるため、将来のリリースではサポートから除外されます。
SQL Anywhere では ANSI/ISO SQL 標準に基づき、キーワード LEFT OUTER、RIGHT OUTER、FULL OUTER をサポートします。また、バージョン 12 以前の Adaptive Server Enterprise との互換性を保つために、tsql_outer_joins データベース・オプションが On に設定されている場合は、LEFT OUTER と RIGHT OUTER のキーワードに対応する Transact-SQL の *= と =* もサポートします。tsql_outer_joins オプション [互換性]を参照してください。
Transact-SQL のセマンティックには、いくつかの制限事項と潜在的な問題があります。Transact-SQL 外部ジョインの詳細については、ホワイト・ペーパー『Transact-SQL 外部ジョインのセマンティックと互換性』( http://www.sybase.com/detail?id=1017447) を参照してください。
Transact-SQL ダイアレクトでは、FROM 句内にカンマで区切られたテーブルのリストを指定し、WHERE 句内で特殊な演算子 *= or =* を使用して外部ジョインを作成します。Adaptive Server Enterprise のバージョン 12 より前のバージョンでは、ジョイン条件を WHERE 句内に記述してください (ON はサポートされていませんでした)。
外部ジョインを作成するときには、*= 構文と ON 句の構文を混在させないでください。この規則は、クエリで参照されるビューにも適用されます。
次の左外部ジョインは全顧客をリストし、注文があればその日付を取り出します。
SELECT GivenName, Surname, OrderDate FROM Customers, SalesOrders WHERE Customers.ID *= SalesOrders.CustomerID ORDER BY OrderDate; |
この文は次の文と同義です。ここでは ANSI/ISO 構文が使用されています。
SELECT GivenName, Surname, OrderDate FROM Customers LEFT OUTER JOIN SalesOrders ON Customers.ID = SalesOrders.CustomerID ORDER BY OrderDate; |
Transact-SQL 外部ジョインの制限事項
Transact-SQL 外部ジョインを使ったビューの使用
Transact-SQL ジョインに対する NULL の影響
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |