自然な完全外部結合がどのように機能するかを理解しようとしているので、テーブル R と S について考えてみましょう。
表 R:
a | b | c | e
1 | null | 1 | 2
1 | 3 | null | 2
2 | 4 | 2 | 2
null | 5 | 2 | 2
null | 4 | 1 | 2
null | 2 | null | 2
0 | 2 | 4 | null
そしてテーブルS:
c | d
1 | 2
2 | 2
3 | 2
null | 2
4 | null
やってみた結果
select *
from R natural full outer join S
だった:
a | b | c | d | e
1 | null | 1 | 2 | 2
1 | 3 | null | 2 | 2
2 | 4 | 2 | 2 | 2
null | 5 | 2 | 2 | 2
null | 4 | 1 | 2 | 2
null | 2 | null | 2 | 2
0 | 2 | 4 | null | null
null | null | 3 | 2 | null
ただし、次のクエリのすべての値の合計は 20 でなければならないため、これは正しくありません。
SELECT b, COUNT(*), AVG(a+d)
FROM R NATURAL FULL OUTER JOIN S
WHERE NOT d<>e
GROUP BY b
これはすべて手作業で行われたことに注意してください。