A と B というテーブルと、nullable ではない共通の列 X が必要です。
クエリ 1:
SELECT COUNT(*)
FROM A
WHERE A.X in
(SELECT distinct(B.X) FROM B)
クエリ 2:
SELECT COUNT(*)
FROM B
WHERE B.X in
(SELECT distinct(X) FROM A)
クエリ 3:
SELECT COUNT(*)
FROM A, B
WHERE A.X=B.X
クエリ 1 の結果は 5990 です。クエリ 2 と 3 の結果は 6222distinct
です。上部の個別カウントを削除またはチェックしても、結果は変わりません。すべてのクエリが交差数を返すため、結果がすべてのクエリで同じではない理由を誰かが説明できますか?