質問: 品番 として実行すると返ってくる結果は在庫テーブルの全レコードと 品番で結んだ商品マスタに存在するデータってことですか? 上記のsqlと select * from 在庫テーブル で返ってくるレコード件数が違うという時はどういう可能性が考えられるでしょうか? ちなみに商品マスタの品番レコードはすべてユニークになっていて 色やサイズで品番が複数存在するものではありません。 何回やってもレコード件数が前者のほうが多くなってしまいます。 分かる方がいらしたらぜひ教えていただきたいです。
回答: >select * >from 在庫テーブル left join 商品マスタ >on 品番 = 品番 > >として実行すると返ってくる結果は在庫テーブルの全レコードと >品番で結んだ商品マスタに存在するデータってことですか? 商品マスタの品番が重複していなければ、 在庫テーブルの全レコードと品番で結んだ 商品マスタに存在するデータを取得できるはずです。 まずは商品マスタの品番が重複していないこと(1)、(2)の select文を実行して確認して下さい。 (1)select count(品番) from 商品マスタ; (2)select count(品番) from (select 品番 from 商品マスタ group by 品番); (1)、(2)共にcount数は同一でしょうか?