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

選択・射影・結合という言葉について整理しておきたいと思い調べました!

 

 

表操作とは

リレーショナルデータベースは表(テーブル)でデータを管理しており、この表を操作することを表操作といいます。

表操作のことを関係演算ともいいます。

リレーショナルデータベースは正規化を行ってからテーブルをつくるため、複数のテーブルに分けてデータを保存します。

その場合、ひとつのテーブルだけでは欲しい情報が得られないので表操作を行って欲しいデータを取得します。

 

 

 

表操作の種類

以下のようなpetsテーブルがあるとします。

id name owner species gender birth
1 Whistler Gwen bird f 1989-08-30
2 Puffball Diane hamster f 1989-08-31
3 Bowser Diane dog m 1989-08-30
4 Momiji Hayashi dog m 2003-08-12
5 Buffy Nana dog f 1991-10-10

 

  • 選択(selection) → 行の抽出

必要な行(レコード)を絞り込みます。

以下のように列(属性)は絞り込みません。

SELECT * FROM upets;

 

id name owner species gender birth
1 Whistler Gwen bird f 1989-08-30
2 Puffball Diane hamster f 1989-08-31
3 Bowser Diane dog m 1989-08-30
4 Momiji Hayashi dog m 2003-08-12
5 Buffy Nana dog f

1991-10-10

 

  • 射影(projection) → 指定した列を抽出 

以下のように必要な列(属性)を絞り込みます。

SELECT name FROM pets;

name
Whistler
Puffball
Bowser
Momiji
Buffy

 

 

  • 結合(join) → 複数の表を結合して1つの表にする

以下のように結合の仕方には何通りか方法があります。

  • INNER JOIN (内部結合)
  • LEFT (OUTER) JOIN (左外部結合)
  • RIGHT (OUTER) JOIN (右外部結合)
  • FULL (OUTER) JOIN (完全外部結合)
  • CROSS JOIN (クロス結合)

 

 

感想その他

今日はお疲れなのでここまでにします。。。

😴😴😴