注:この質問は、また同じは類似の回答の選択を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問は、このシリーズの質問に記載されている情報と詳細は、その質問にのみ適用されます。他の質問とは無関係です。
Customer_CRMSystemおよびCustomer_HRSystemという名前のテーブルを含むデータベースがあります。どちらのテーブルも以下の構造を使用しています。

以下のレコードがテーブルに存在します。
得意先コードシステム

Customer_HRSystem

CustomerCodeにNULL値を含むレコードは、CustomerNameによって一意に識別できます。
双方向のテーブルに表示される個別の顧客を表示する必要があります。
どこのTransact-SQLステートメントを実行しますか?
A:

B:

子:

D:

E:

F:

G:

H:

正解:H
説明/参照:
Explanation:
一致しない行を結合の結果に含むことで一致しない情報を保持するには、完全外部結合を使用します。SQL Serverは、完全外部結合演算子FULL OUTER JOINを提供しています。他のテーブルに一致する値があるかどうかにかかわりず、両方のテーブルのすべての行が含まれます。
間違った答ええ:
A:内部結合は、双方向のテーブルから結合条件に一致するローが少なくとも1つある場合にのみ、ローを返します。内部結合は、他のテーブルの行と一致しない行を削除します。
B:INTERSECTは、左右双方向の入力依頼演算子によって出力される別の行を返します。
D:EXCEPTは、左側の入力クエリから、右側の入力クエリでは出力されない、異なる行を返します。
E:UNIONは、複数の結果セットを組み合わせて単一の結果セットとして返すように指定しますが、CustomerID列の値が一致しないため、ここでは機能しません。
F:UNION ALLはすべての行を結果に組み入れます。これには重複も含まれます。指定しない場合、重複行は削除されます。
G:クロスジョインは2つのテーブルのデカルト積を生成します。
参照先:https://technet.microsoft.com/ja-jp/library/ms187518(v = sql.105).aspx