![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になります。
次のSQLの結果についてわかられる方がいらっしゃればご回答お願いします。
間違っている部分があるのは承知していますが、ひとまずなぜこういう結果になるのかを教えていただきたいです。
SELECT A.KOUMOKU
FROM A, B, C, D
WHERE A.KOUMOKUNO = B.KOUMOKUNO(+)
AND A.KOUMOKUNO = C.KOUMOKUNO(+)
AND A.KOUMOKUNO = D.KOUMOKUNO(+)
各テーブルのデータは次のようにします。
A
-------------------
KOUMOKUNO KOUMOKU
1 aaa
2 bbb
3 ccc
4 ddd
5 eee
-------------------
B,C,D
-------------------
KOUMOKUNO KOUMOKU
1 aaa
1 aaa
1 aaa
-------------------
この場合、結果が31件となります。
調査した結果、次のような計算をもとに結果が返ってきているようなのです。
Aの4件(Aのみ存在)+(3(Bの件数)×3(Cの件数)×3(Dの件数))=29件
なぜ最後の外部結合でB,C,Dの件数が乗算されるのか教えていただきたいのです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
すこし考えれば、こうなって同然の結果と思います。
> Aの4件(Aのみ存在)+(3(Bの件数)×3(Cの件数)×3(Dの件数))=29件
これは31件の間違いと思いますが、これを以下のように考えるとしっくり来ると思います。
Aの4件(Aのみ存在)+(1(Aの件数)×3(Bの件数)×3(Cの件数)×3(Dの件数))
AとBで7件、これにCが加わって13件、更にDが加わって31件となります。
Aの1件のデータに対してB,C,Dのデータが3件ずつ増えていくのでこうなります。
もし、AのKOUOMKUNOが主キーになっていなくて、1のデータが2件あったら
4+(2×3×3×3)=58件 となります。
逆に、B,C,DのKOUMOKUNOが主キーで1のデータが1件ずつだったら
4+(1×1×1×1)=5件 となるはずです。
ご回答ありがとうございます。
なんとなくイメージがつかめた気がします。
煮詰まっていたので大変助かりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 1 2023/01/31 18:53
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 5 2023/01/31 23:35
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracleクライアントの共存方法...
-
SELECTでn行目から最後もしくは...
-
iPhoneのシステムデータ、3日前...
-
accessで複数年度のデータを蓄...
-
Null同士の結合
-
5分ごとのデータ取得
-
システム連携?システム連係?
-
別のシステムのデータを引っ張...
-
windows 11 へのアップグレード...
-
「管理」「運用」「保守」の意...
-
事務コンについて相談させてく...
-
「データが反映されるのが遅い...
-
ITa、ITbという言葉の意味を教...
-
タブレットにナビゲーションバ...
-
このシステムどう思う?
-
ページングシステム
-
メールからURLが開けない!
-
相手の立場に立ってシステムを...
-
昇進論文について
-
仮想化によるシステムの統合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTでn行目から最後もしくは...
-
accessで複数年度のデータを蓄...
-
iPhoneのシステムデータ、3日前...
-
AccessとSQL Serverの連携について
-
Null同士の結合
-
Oracleクライアントの共存方法...
-
教えて頂けないでしょうか
-
5分ごとのデータ取得
-
プログラムからODBCデータソー...
-
銀行系DBの堅牢度
-
大量同時並行処理時のMySQL
-
SQL サーバのCPU使用率が高い
-
「中山」で検索すると「青山」...
-
アクセスと統一伝票
-
IMPORT処理速度
-
サッポロビールカルサスのデー...
-
二つのテーブルで比較
-
SQLサーバーで構築したシス...
-
Oracleの外部結合について
-
Acrobat5.0、Access等を駆使し...
おすすめ情報