LEFT OUTER JOINのON条件で複数マッチしたときは、掛け算になる。下のようなクエリがあったとして、idで外部結合しようとしているけど、idがそれぞれ2つあるので、id=1については 2 * 2
で4つの組み合わせができる。
SELECT * FROM ( SELECT id, name, age FROM ( VALUES (1, 'alpha', 10), (1, 'alpha', 10), (2, 'beta', 20)) AS t (id, name, age)) a LEFT OUTER JOIN ( SELECT DISTINCT id, name, country FROM ( VALUES (1, 'alpha', 'JP'), (1, 'alpha', 'JP'), (2, 'beta', 'US')) AS t (id, name, country)) b ON a.id = b.id