注:この質問は、また同じは類似の回答の選択を使用する一連の質問の一部です。回答の選択は、シリーズ内の複数の質問に対して正しい場合があります。各質問は、このシリーズの質問に記載されている情報と詳細は、その質問にも当てはまります。他の質問とは無関係です。
銀行システム用のデータベースがあります。データベースには、tblDepositAcctとtblLoanAcctという名前の2つのテーブルがあり、あれぞれ預金口座とローンチ座を探しています。どちらの表もあります。

あなたは預金口座またはローン口座を持っているが両方の種類の口座を持っていない顧客の総数を決定する必要があります。
どこのTransact-SQLステートメントを実行しますか?
A:

B:

子:

D:

E:

F:

G:

H:

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