注:この質問は、同じまたは類似の回答の選択肢を使用する一連の質問の一部です。回答の選択肢は、シリーズの複数の質問に対して正しいかもしれません。各質問は、このシリーズの他の質問とは独立しています。質問に記載されている情報や詳細がその質問に適用されます。
あなたには、銀行システム用のデータベースがあります。データベースには、預金口座とローン口座をそれぞれ格納する2つのテーブルtblDepositAcctとtblLoanAcctがあります。どちらの表にも次の列があります。

預金口座またはローン口座のいずれかを持つ顧客の総数を決定する必要がありますが、両方の種類の口座を決定する必要はありません。
どのTransact-SQL文を実行する必要がありますか?
A:

B:

C:

D:

E:

F:

G:

H:

正解:G
説明/参照:
Explanation:
SQL Serverは、完全な外部結合演算子FULL OUTER JOINを提供します。これは、他のテーブルに一致する値があるかどうかにかかわらず、両方のテーブルのすべての行を含みます。
ProductID列のSalesOrderDetailテーブルとProductテーブルの結合を考えます。結果には、受注がある商品のみが表示されます。 ISO FULL OUTER JOIN演算子は、テーブルに一致するデータがあるかどうかにかかわらず、両方のテーブルのすべての行を結果に含めることを示します。
テーブル間に一致するデータがない行だけを返すには、完全外部結合でWHERE句を含めることができます。次のクエリは、一致する受注を持たない製品だけでなく、製品に一致しない受注も返します。
AdventureWorks2008R2を使用します。
GO
- FULLキーワードに続くOUTERキーワードはオプションです。
SELECT p.Name、sod.SalesOrderID
生産から。製品p
完全な外部結合Sales.SalesOrderDetail sod
ON p.ProductID = sod.ProductID
p.ProductIDがNULLの場所
OR sod.ProductIDはNULLです
ORDER BY p.Name
参考文献:https://technet.microsoft.com/en-us/library/ms187518(v=sql.105).aspx