4.データ更新
以下のテーブルをもとに、演習を進める。
[ sale ]
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 140 | 2800 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 400 | 6000 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 400 | 800 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 600 | 19200 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 260 | 4680 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 3 | 140 | 420 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3500 | 42000 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1780 | 5340 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 260 | 2600 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2300 | 13800 | 海の家 | false | (NULL) |
4-1
販売データの登録 − 新規データの挿入
以下の新規データを追加する。
sale_id (販売番号) |
sale_date (販売日) |
product_name (商品名) |
product_count (個数) |
product_price (単価) |
product_total (合計金額) |
customer (販売先) |
is_delivery (配送) |
note (備考) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2500 | 10000 | W商店 | true(あり) | NULL |
[ sale(データ追加後) ]
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 140 | 2800 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 400 | 6000 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 400 | 800 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 600 | 19200 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 260 | 4680 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 3 | 140 | 420 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3500 | 42000 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1780 | 5340 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 260 | 2600 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2300 | 13800 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2500 | 10000 | W商店 | true | (NULL) |
キーワード:insert into 〜 values
【サンプルソースコード】
/* 4-1.販売データの登録 − 新規データの挿入 */
/* 表定義の列順で値を指定し、値がない場合はnullを指定する */
insert into sale
values (111, '2007/8/25', '秋の先取りセット', 4, 2500, 10000, 'W商店', true, null);
4-2
販売データの登録2 − 新規データの挿入2
以下の新規データを追加する。
sale_id (販売番号) |
sale_date (販売日) |
product_name (商品名) |
product_count (個数) |
product_price (単価) |
product_total (合計金額) |
customer (販売先) |
112 | 2007/8/28 | 巨峰 | 10 | 880 | 8800 | C商店 |
[ sale(データ追加後) ]
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 140 | 2800 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 400 | 6000 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 400 | 800 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 600 | 19200 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 260 | 4680 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 3 | 140 | 420 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3500 | 42000 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1780 | 5340 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 260 | 2600 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2300 | 13800 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2500 | 10000 | W商店 | true | (NULL) |
112 | 2007/8/28 | 巨峰 | 10 | 880 | 8800 | C商店 | false | (NULL) |
キーワード:insert into 〜 values
【サンプルソースコード】
/* 4-2.販売データの登録2 − 新規データの挿入2 */
/* 値を入れる列を指定する、指定がなければdefault値かnullが入る */
insert into sale
(sale_id, sale_date, product_name, customer, product_price, product_count, product_total)
values (112, '2007/8/28', '巨峰', 'C商店', 880, 10, 8800);
4-3
単価の一括更新 − データの変更
商品の単価を、税込み表示に変更する。
すべて、1.05倍に変更する。(あわせて、金額も変更しないとつじつまが合わない。)
[ sale(データ更新後) ]
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 147 | 2940 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 420 | 6300 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 420 | 840 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 630 | 20160 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 273 | 4914 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 3 | 147 | 441 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3675 | 44100 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1869 | 5607 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 273 | 2730 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2415 | 14490 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2625 | 10500 | W商店 | true | (NULL) |
112 | 2007/8/28 | 巨峰 | 10 | 924 | 9240 | C商店 | false | (NULL) |
キーワード:update 〜 set
【サンプルソースコード】
/* 4-3.単価の一括更新 − データの変更 */
/* setには、必要なものだけを並べればいい */
update sale
set product_price = product_price * 1.05, product_total = product_total * 1.05;
4-4
特定データの値の修正 − 特定データの変更
特定データの個数の入力が間違っていたので、正しい数字に直す。
⇒販売番号:106のデータ 個数「3」が、正しくは「30」
(あわせて、金額も変更しないとつじつまが合わない。)
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 147 | 2940 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 420 | 6300 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 420 | 840 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 630 | 20160 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 273 | 4914 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 30 | 147 | 4410 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3675 | 44100 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1869 | 5607 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 273 | 2730 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2415 | 14490 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2625 | 10500 | W商店 | true | (NULL) |
112 | 2007/8/28 | 巨峰 | 10 | 924 | 9240 | C商店 | false | (NULL) |
キーワード:update 〜 set、where
【サンプルソースコード】
/* 4-4.特定データの値の修正 − 特定データの変更 */
/* whereでデータを指定しないと、全データが変更されてしまう */
update sale
set product_count = 30, product_total = 4410
where sale_id = 106;
4-5
特定データの単価の修正 − 特定データの変更2
特定商品の単価の入力が間違っていたので、正しい数字に直す。
⇒商品:マンゴー 単価「273」が、正しくは「294」
(あわせて、金額も変更しないとつじつまが合わない。)
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 147 | 2940 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 420 | 6300 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 420 | 840 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 630 | 20160 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 294 | 5292 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 30 | 147 | 4410 | A商店 | false | (NULL) |
107 | 2007/7/1 | メロン | 12 | 3675 | 44100 | W商店 | true | のしをつける |
108 | 2007/7/7 | 七夕セット | 3 | 1869 | 5607 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 294 | 2940 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2415 | 14490 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2625 | 10500 | W商店 | true | (NULL) |
112 | 2007/8/28 | 巨峰 | 10 | 924 | 9240 | C商店 | false | (NULL) |
キーワード:update 〜 set、where
【サンプルソースコード】
/* 4-5.特定データの単価の修正 − 特定データの変更2 */
update sale
set product_price = 294, product_total = 294 * product_count
where product_name = 'マンゴー';
4-6
特定データの削除
販売番号:107のデータを削除する。
sale_id | sale_date | product_name | product_count | product_price | product_total | customer | is_delivery | note |
101 | 2007/4/1 | りんご | 20 | 147 | 2940 | A商店 | false | (NULL) |
102 | 2007/4/2 | いちご | 15 | 420 | 6300 | B商店 | true | (NULL) |
103 | 2007/5/4 | いちご | 2 | 420 | 840 | A商店 | false | (NULL) |
104 | 2007/5/12 | いちじく | 32 | 630 | 20160 | A商店パリ支店 | true | 空輸 |
105 | 2007/5/20 | マンゴー | 18 | 294 | 5292 | C商店 | false | (NULL) |
106 | 2007/6/7 | りんご | 30 | 147 | 4410 | A商店 | false | (NULL) |
108 | 2007/7/7 | 七夕セット | 3 | 1869 | 5607 | C商店 | false | (NULL) |
109 | 2007/7/10 | マンゴー | 10 | 294 | 2940 | B商店 | false | (NULL) |
110 | 2007/8/1 | 常夏セット | 6 | 2415 | 14490 | 海の家 | false | (NULL) |
111 | 2007/8/25 | 秋の先取りセット | 4 | 2625 | 10500 | W商店 | true | (NULL) |
112 | 2007/8/28 | 巨峰 | 10 | 924 | 9240 | C商店 | false | (NULL) |
キーワード:delete from、where
【サンプルソースコード】
/* 4-6.特定データの削除 */
/* whereを指定しないと全データが削除されるので注意! */
delete from sale
where sale_id = 107;
課題
スポーツクラブの会員データがある。
以下のテーブルをもとに、仕様を満たすようなSQL文を作成する。
[ member ]
member_id | regist_date | member_name | birthday | member_gender | class | member_fee | area | lesson |
M101 | 2005/2/10 | 秋田きりん | 1978/5/4 | 男性 | マスター | 10000 | 上野 | スカッシュ |
N511 | 2006/8/15 | 長野となかい | 1980/10/9 | 男性 | ナイト | 8000 | 上野 | (NULL) |
M340 | 2006/8/15 | 山口ぱんだ | 1976/4/28 | 女性 | マスター | 10000 | 上野 | ジャズダンス |
H028 | 2006/10/10 | 長崎らっこ | 1979/7/16 | 男性 | ホリデー | 7200 | 品川 | スイミング |
M502 | 2007/1/20 | 石川うさぎ | 1976/5/21 | 女性 | マスター | 10000 | 千葉 | (NULL) |
N113 | 2007/1/31 | 岡山ふくろう | 1965/12/30 | 男性 | ナイト | 8000 | 上野 | (NULL) |
D327 | 2007/3/6 | 富山ひよこ | 1986/4/23 | 女性 | デイ | 6500 | 千葉 | (NULL) |
N280 | 2007/4/1 | 香川ひらめ | 1972/6/24 | 男性 | ナイト | 8000 | 品川 | (NULL) |
H335 | 2007/4/18 | 宮崎まんぼう | 1968/3/12 | 男性 | ホリデー | 7200 | 品川 | (NULL) |
M211 | 2007/4/28 | 福岡かまきり | 1980/10/8 | 男性 | マスター | 10000 | 千葉 | ジャズダンス |
課題4-1.新規入会した会員を登録する。
member_id | regist_date | member_name | birthday | member_gender | class | member_fee | area | lesson |
H777 | この課題をやった日 | (自分の氏名) | (自分の生年月日) | (自分の性別) | ホリデー | 7200 | 品川 | ヨガ |
課題4-2.M502の石川さんが、会員種別をホリデー会員に変更した。
会費にも注意すること。
課題4-3.千葉店を利用しているデイ会員の富山さんが、スカッシュのレッスンを受けることにした。
※問題文に合わせて検索条件を設定すること。
課題4-4.N280の香川さんが、退会した。
課題4-5.上野店を利用していた長野さんが、品川店に変更した。
※問題文に合わせて検索条件を設定すること。
課題4-6.ホリデー会員の月会費が、7200円から7500円に値上げされた。
※問題文に合わせて検索条件を設定すること。
課題4-7.上野店を利用している山口さんの生年月日が間違って登録されていた。正しくは1976年5月28日なので、修正する。
※問題文に合わせて検索条件を設定すること。
Copyright © Xincor miXell Co., Ltd. All rights reserved