4月17日(金)3コマ目
今日、やったこと
いろいろな結合
- 等価結合(inner join)
- 非等価結合
- 自己結合
今日のホワイトボード
DB接続、不要なテーブルを削除
1年次に作ったテーブルを削除。
![]() |
| 図 SQLPlusでオラクルDBに接続、不要なテーブルを削除 |
等価結合
今までfrom句に複数テーブルを指定したときにwhere句に書いた結合条件は指定列の値が等しい行同士を結合する等価結合。
これからはinner joinを使って、from句に結合条件を書く。
![]() |
| 図 等価結合(inner joinを使う) |
![]() |
| 図 inner joinで等価結合 |
3つのテーブルの場合は以下のように、結合した結果にさらに結合のイメージ。
![]() |
| 図 3つのテーブルをinner joinで結合 |
結合後、where句に検索条件で検索。
![]() |
| 図 from句のinner joinで結合して、where句の検索条件で検索 |
非等価結合
結合条件は値の等しい行同士を結合だけではない。
条件として成立するなら、等価演算子以外の条件でも可。
![]() |
| 図 非等価結合 |
自己結合
1つのテーブルに異なる別々の別名をつけて、あたかも2つのテーブルがあるようにして、結合することもできる。
![]() |
| 図 自己結合 |
以下は従業員テーブルに上司、部下と別々の別名をつけて、2つのテーブルを結合する。
![]() |
| 図 自己結合 |
部下テーブルは部下情報、上司テーブルは上司情報として扱っている。
![]() |
| 図 自己結合ダメな例(左側)、好ましい例(右側) |
次回は
外部結合
練習問題










コメント
コメントを投稿