4月17日(金)3コマ目

今日、やったこと

いろいろな結合

  • 等価結合(inner join)
  • 非等価結合
  • 自己結合

今日のホワイトボード

DB接続、不要なテーブルを削除

1年次に作ったテーブルを削除。

図 SQLPlusでオラクルDBに接続、不要なテーブルを削除


等価結合

今までfrom句に複数テーブルを指定したときにwhere句に書いた結合条件は指定列の値が等しい行同士を結合する等価結合。

これからはinner joinを使って、from句に結合条件を書く。

図 等価結合(inner joinを使う)
2つのテーブルの場合は以下のとおり。
図 inner joinで等価結合

3つのテーブルの場合は以下のように、結合した結果にさらに結合のイメージ。
図 3つのテーブルをinner joinで結合

結合後、where句に検索条件で検索。
図 from句のinner joinで結合して、where句の検索条件で検索

非等価結合

結合条件は値の等しい行同士を結合だけではない。
条件として成立するなら、等価演算子以外の条件でも可。
図 非等価結合

自己結合

1つのテーブルに異なる別々の別名をつけて、あたかも2つのテーブルがあるようにして、結合することもできる。
図 自己結合

以下は従業員テーブルに上司、部下と別々の別名をつけて、2つのテーブルを結合する。
図 自己結合

部下テーブルは部下情報、上司テーブルは上司情報として扱っている。

自己結合のダメな例

以下は別名と使われ方が一致しない。
図 別名と使われ方が一致しない

下図の左側はダメな例。右側は好ましい。

図 自己結合ダメな例(左側)、好ましい例(右側)

次回は

外部結合
練習問題

コメント

このブログの人気の投稿

4月28日(火)3コマ目

4月24日(金)3コマ目