データベース技術 9(Database 9)2. データの追加・更新
•全てのカラムに値を指定して追加
- INSERT INTO テーブル名 VALUES(値1, 値2, ...);
•特定のカラムだけに値を指定しデータを追加
- INSERT INTO テーブル名(カラム1, カラム2, ...)
VALUES(値1, 値2, ...);
•既に格納されているデータを変更する
- UPDATE テーブル名 SET カラム名1 = 値1, カラム名2
= 値2, ... WHERE 条件式;
215年11月24日火曜日
5. データの取得
•基本的書式
- SELECT カラム名1, カラム名2, ... FROM テーブル名;
•全てのカラムを取得する場合
- SELECT * FROM テーブル名;
•取得するデータの条件を指定する場合
- SELECT カラム名 , ... FROM テーブル名 WHERE 条件式;
515年11月24日火曜日
6. 条件の作成(1)
•比較演算子
比較演算子 意味 例 例の意味
A=B AとBが等しい 価格=200 価格が200と等しい
A>B AがBより大きい 価格>200 価格が200より大きい
A>=B AはB以上 価格>=200 価格が200以上
A<B AがBより小さい 価格<200 価格が200より小さい
A<=B AはB以下 価格<=200 価格が200以下
A<>B AとBは等しくない 価格<>200 価格が200でない
615年11月24日火曜日
7. 条件の作成(2)
•論理演算子
論理演算子 意味 例 例の意味
AND AかつB
商品コード>=200
AND 単価=100
商品コードが200以上で
かつ 単価が100
OR AまたはB
商品コード>=200
OR 単価=100
商品コードが200以上か
または 単価が100
NOT Aではない NOT 単価=100 単価が100でない
715年11月24日火曜日
13. データを並べ替えて表示
•書式
- SELECT カラム名 , ... FROM テーブル名 ORDER BY
カラム名1 [ASC | DESC], カラム名2 [ASC | DESC], ...;
- ASC:昇順
- DESC:降順
- ASC、DESCを省略した場合は昇順
1315年11月24日火曜日
16. データをグループ化(2)
•書式
- SELECT カラム名, ... FROM テーブル名 GROUP BY
カラム名, カラム名, ...;
•例
- 平均年齢を求める:select avg(old) from user;
- addressごとの平均年齢を求める:select address,
avg(old) from user group by address;
1615年11月24日火曜日
20. 売上報告書
•売上報告書
報告書コード 日付 輸出先コード 輸出先名 商品コード 商品名 単価 個数
1101 3/5 12 アメリカ
101 メロン ¥800 1,100
1101 3/5 12 アメリカ
102 いちご ¥150 300
1102 3/7 23 中国 103 りんご ¥120 1,700
1103 3/8 25 フランス 104 レモン ¥200 500
2015年11月24日火曜日
21. 第三正規形にまでにした表
•リレーショナルデータベースではこの表を使う
報告書コード 日付 輸出先コード
1101 3/5 12
1102 3/7 23
1103 3/8 25
輸出先コード 輸出先名
12 アメリカ
23 中国
25 フランス
「売上」表 「輸出先」表
商品コード 商品名 単価
101 メロン ¥800
102 いちご ¥150
103 りんご ¥120
104 レモン ¥200
報告書コード 商品コード 個数
1101 101 1,100
1101 102 300
1102 103 1,700
1103 104 500
「商品」表「売上明細」表
参照
参照
参照
2115年11月24日火曜日
23. 表の結合 具体例
SELECT 売上.報告書コード, 日付,
売上.輸出先コード, 輸出先名,
売上明細.商品コード, 商品名, 単価, 個数
FROM 売上, 売上明細, 商品, 輸出先
WHERE 売上.報告書コード = 売上明細. 報告書コード
AND
売上明細.商品コード = 商品.商品コード
AND
輸出先.輸出先コード = 売上.輸出先コード
報告書コード 日付 輸出先コード
1101 3/5 12
輸出先コード 輸出先名
12 アメリカ
「売上」表
「輸出先」表
商品コード 商品名 単価
101 メロン ¥800
報告書コード 商品コード 個数
1101 101 1,100
「商品」表
「売上明細」表
2315年11月24日火曜日
24. 表の結合 結果
報告書コード 日付 輸出先コード 輸出先名 商品コード 商品名 単価 個数
1101 3/5 12 アメリカ 101 メロン ¥800 1,100
1101 3/5 12 アメリカ 102 いちご ¥150 300
1102 3/7 23 中国 103 りんご ¥120 1,700
1103 3/8 25 フランス 104 レモン ¥200 500
SELECT 売上.報告書コード, 日付,
売上.輸出先コード, 輸出先名,
売上明細.商品コード, 商品名, 単価, 個数
FROM 売上, 売上明細, 商品, 輸出先
WHERE 売上.報告書コード = 売上明細. 報告書コード
AND
売上明細.商品コード = 商品.商品コード
AND
輸出先.輸出先コード = 売上.輸出先コード
2415年11月24日火曜日