17.00 - 17.05 - 排他結合 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLリクエストおよびトランザクション処理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
ユーザー ガイド
Publication ID
B035-1142-170K-JPN
Language
日本語 (日本)

排他結合 - 排他結合演算を引き起こす場合が多いSQL演算子

排他結合は、リクエストの中に指定されたどの条件も満たしていない(NOT IN)行のみが結合される積結合、マージ結合、またはハッシュ結合です。

言い換えると、排他結合は、第2のテーブルに一致する行を持たない第1のテーブルの中にある行を検出するということです。

排他結合は、外部結合の暗黙の形式です。

動的行パーティション排除を使用する排他プロダクト ジョインは8バイト パーティション化をサポートしていません。

セッション モードの変更については、動的行パーティション排除を使用する包含積結合と排他積結合も参照してください。

SQLを次のように指定すると、最適化ルーチンは頻繁に排他結合を選択します。
  • Subquery でNOT IN論理演算子を使用する。
  • EXCEPTおよびMINUSセット演算子を使用する。

排他結合とNULLABLE列

結合列にnullの結合行が返されないようにするため、次のいずれかの方法を使用します。
  • テーブルを作成するときに、NOT IN結合条件として使用される可能性のある列をNOT NULLとして定義する。
  • 問合わせを作成するときに、問題の生じる可能性のある結合にIS NOT NULLを指定して修飾する。例えば、次のようになります。
    WHERE Customer.CustAddress IS NOT NULL

排他結合のタイプ