4月28日(火)3コマ目
今日、やったこと [練習問題]いろいろな結合 [練習問題 解説]いろいろな結合 今日のホワイトボード [練習問題 解説]いろいろな結合 正解例をあげておきます。 問1 図 問1 正解例 xx月中の条件は下図のように何種類か書き方があるが、月末が年、月で変わるため、翌月1日未満が便利(だと思う)。 図 条件「xx月中」 問2 問1からテーブル数が増えた。 図 問2 正解例 問3 1件の売上に対して、 伝票番号 処理日 顧客 担当者 は1対1の関係になる。 よって、伝票番号列だけでグループ化しても、伝票番号列、処理日列、顧客名列、担当者名列の組み合わせでグループ化しても、できるグループは同じ。 図 問3 正解例 問4 売上利益はグループ毎の値。よって、「売上利益が50000以上」はグループに対する条件。 select句でsum(数量*(卸単価 - 仕入単価))に別名”売上利益”を設定している。 売上利益は グループに対する条件(having句) 並び替え(order by句) で使われている。 select句で指定した別名はorder by句では利用可だが、having句では利用できない。 order by句で別名”売上利益”を使うと 図 問4 正解例(select句の別名はorder by句でも使える) having句で別名”売上利益”を使うと 図 問4 having句ではselect句の別名は使えない 問5 自己結合。 図 問6 正解例 以下は テーブルの別名に対して、テーブルの使われ方が一致しない 。 テストでは×にします 。 図 問6 テーブルの別名と使われ方が一致しない => ダメ 上司がいない人(MGR_ID列がnull => 上司テーブルに結合できる行がない)も出力するなら、外部結合。 部下テーブルを全行出力させる。 図 問5 上司がいない人も出力したい => 外部結合 問6 売上のない商品 = 売上データテーブルに登場しない。 結合相手がないデータも出力するには、外部結合。 〇left join 図 問6 正解例 left join版 〇right join 図 問6 正解例 rightjoin版 問7 あまり何も考えずにやってみると以下のようなかんじ。 図 なにも考えずにやってみると 商品数は10だが、検索結果は10行ではない。 ダメ...