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 リファレンス » SQL の使用 » SQL 文 » SQL 文 (E ~ O)

 

INTERSECT 句

2 つ以上のクエリの結果セット間の共通部分を計算します。

構文
[ WITH temporary-views ] query-block
  INTERSECT [ ALL | DISTINCT ] query-block
[ ORDER BY [ integer | select-list-expression-name ] [ ASC | DESC ], ... ]
[ FOR XML xml-mode ]
[ OPTION( query-hint, ... ) ]

query-block一般的な SQL 構文要素を参照してください。

query-hint :
MATERIALIZED VIEW OPTIMIZATION option-value
| FORCE OPTIMIZATION
| option-name = option-value
option-name : identifier
option-value : hostvar (許容されたインジケータ), string, identifier, または number
パラメータ
  • OPTION 句   この句は、文を実行するためのヒントを指定するときに使用します。次のヒントがサポートされます。

    • MATERIALIZED VIEW OPTIMIZATION option-value
    • FORCE OPTIMIZATION
    • option-name = option-value

    これらのオプションの詳細については、SELECT 文の OPTIONS 句の説明を参照してください。

備考

複数のクエリ・ブロックの結果セット間の共通部分は、INTERSECT または INTERSECT ALL を使用して 1 つの結果として取得できます。INTERSECT DISTINCT は INTERSECT と同じです。

クエリ・ブロックでは、それぞれ select リストの中の項目数が同じになるようにしてください。

INTERSECT の結果は INTERSECT ALL と同じです。ただし、INTERSECT を使用するときに、重複するローが削除されてから結果セット間の共通部分が計算される場合は除きます。

2 つの select リスト内の対応する項目が異なるデータ型の場合、SQL Anywhere は結果の中から対応するカラムのデータ型を選択し、各 query-block のカラムを自動的にそれぞれ変換します。UNION の最初の query-block は、ORDER BY 句と一致する名前を判断するために使用します。

表示されるカラム名は、最初の query-block に対して表示されるカラム名と同じです。結果セットのカラム名をカスタマイズするには、query-block で WITH 句を使用するという方法もあります。

パーミッション

query-block には SELECT パーミッションが必要です。

関連する動作

なし

参照
標準と互換性
  • SQL/2003   F302 の機能。

INTERSECT の使用例については、集合演算子と NULLを参照してください。