リレーショナル・データベースの表操作

リレーショナル・データベースの表操作は、以下の3つがある。表操作のことを関係演算ともいう。

Point リレーショナル・データベースの表操作

  • 選択(selection) → 行の抽出
  • 射影(projection) → 指定した列を抽出
  • 結合(join) → 複数の表を結合して1つの表にする

選択(selection)

選択は、表の中から条件に合ったを取り出す操作である。

Point 選択

行を取り出す行→すべての列を指定する

《例題》

学籍表より性別が’女’の行を取り出す。(選択)

選択の実行結果

性別が'女'のすべての列が表示されていることに注目して欲しい。選択をSQL文で書くと、以下のようになる。なお、リレーショナル・データベースの表操作は、SELECT文で行う。

選択をSQL(SELECT)文で記述

SELECT 学籍番号,氏名,性別
FROM 学籍表
WHERE 性別='女'
または
SELECT *
FROM 学籍表
WHERE 性別='女'

射影(projection)

射影は、表の中から必要な列だけを指定して、表から取り出す操作である。

Point 射影

必要な列だけを取り出す

《例題2》

学籍表より氏名と性別の列を取り出す(射影)

射影の実行結果

射影をSELECT文で記述すると次のようになる。

射影をSQL(SELECT)文で記述

SELECT 氏名,性別
FROM 学籍表

抽出条件は設定していないので、抽出条件のWHERE句は省略している。もちろんWHERE句を書いて抽出条件を設定してもよい。大切なことは、射影は必要な列を取り出していることである。

結合(join)

結合は、複数の表(テーブル)から1つの表にする操作である。

《例題3》

売上表と商品表を商品コードで結合する。

売上表と商品を結合

結合をSELECT文で記述すると次のようになる。

結合をSQL(SELECT)文で記述

SELECT 売上番号,数量,売上表.商品コード,商品表.商品コード,商品名,単価
FROM 売上表,商品表
WHERE 売上表.商品コード = 商品表.商品コード ← 表の結合

商品コードだけは、「表名.列名」と記述している。これは、同じ列名が他の表に存在するとき、どの表の列であるか明示しなければならないためである。

リレーショナル・データベース表操作演習問題