From e81c90a83350d94ab1dc24081a8610768da9113c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=88=B4=E6=9C=A8=E3=80=80=E7=9A=93=E4=BB=8B?= <26-k-suzuki-avnz@it-college.co.jp> Date: Tue, 27 Oct 2026 17:21:55 +0900 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E4=BA=86=E6=B8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Answers/Q3_DataDef.sql | 309 +++++++++++++++++++++++++++++++++++++ Answers/Question1.txt | 32 ++++ Answers/Question2.txt | 55 +++++++ Answers/Question2alpha.txt | 90 +++++++++++ 4 files changed, 486 insertions(+) create mode 100644 Answers/Q3_DataDef.sql create mode 100644 Answers/Question1.txt create mode 100644 Answers/Question2.txt create mode 100644 Answers/Question2alpha.txt diff --git a/Answers/Q3_DataDef.sql b/Answers/Q3_DataDef.sql new file mode 100644 index 0000000..1566e18 --- /dev/null +++ b/Answers/Q3_DataDef.sql @@ -0,0 +1,309 @@ +---------------------------------------- +---------------------------------------- +--各種マスタ + +--支払い種別マスタ +CREATE TABLE pay_div_m ( + pay_div_cd CHAR(5) NOT NULL COMMENT '支払分類コード', + pay_div_nm VARCHAR(50) NOT NULL COMMENT '支払分類名', + PRIMARY KEY (pay_div_cd) +) +COMMENT '支払種別マスタ'; +INSERT INTO pay_div_m VALUES ('PY001', 'クレジットカード'); +INSERT INTO pay_div_m VALUES ('PY002', '銀行振込'); +INSERT INTO pay_div_m VALUES ('PY003', 'コンビニ決済'); +INSERT INTO pay_div_m VALUES ('PY004', '代引'); + +--性別マスタ +CREATE TABLE gender_m ( + gender_cd CHAR(2) NOT NULL COMMENT '性別コード', + gender_div_nm VARCHAR(50) NOT NULL COMMENT '性別分類名', + PRIMARY KEY (gender_cd) +) +COMMENT '性別マスタ'; +INSERT INTO gender_m VALUES ('J0', '男性'); +INSERT INTO gender_m VALUES ('J1', '女性'); +INSERT INTO gender_m VALUES ('J9', 'その他'); + +--クレジットカード分類マスタ +CREATE TABLE credit_div_m ( + credit_div_cd CHAR(5) NOT NULL COMMENT 'カード分類コード', + credit_div_nm VARCHAR(50) NOT NULL COMMENT 'カード分類名', + PRIMARY KEY (credit_div_cd) +) +COMMENT 'クレジットカード分類マスタ'; +INSERT INTO credit_div_m VALUE ('CD001', 'VISA'); +INSERT INTO credit_div_m VALUE ('CD002', 'JCB'); +INSERT INTO credit_div_m VALUE ('CD003', 'Master'); +INSERT INTO credit_div_m VALUE ('CD004', 'AMERICAN EXPRESS'); + +--商品分類マスタ +CREATE TABLE goods_div_m ( + goods_div_cd CHAR(5) NOT NULL COMMENT '商品分類コード', + goods_div_nm VARCHAR(50) NOT NULL COMMENT '商品分類名', + PRIMARY KEY (goods_div_cd) +) +COMMENT '商品分類マスタ'; +INSERT INTO goods_div_m VALUE ('K0001', '日用品'); +INSERT INTO goods_div_m VALUE ('K0002', 'パソコン・オフィス用品'); +INSERT INTO goods_div_m VALUE ('K0003', 'スポーツ&アウトドア'); +INSERT INTO goods_div_m VALUE ('K0004', 'カー用品'); +INSERT INTO goods_div_m VALUE ('K0005', '食料品'); +INSERT INTO goods_div_m VALUE ('K0006', '家電'); +INSERT INTO goods_div_m VALUE ('K0007', 'ファッション'); +INSERT INTO goods_div_m VALUE ('K0008', '娯楽'); + +--消費税マスタ +CREATE TABLE tax_m ( + app_date DATE NOT NULL COMMENT '適用年月日', + tax_rate INT NOT NULL DEFAULT 0 COMMENT '税率(%)', + PRIMARY KEY (app_date) +) +COMMENT '消費税マスタ'; +INSERT INTO tax_m VALUE ('1989-4-1', 3); +INSERT INTO tax_m VALUE ('1997-4-1', 5); +INSERT INTO tax_m VALUE ('2014-4-1', 8); +INSERT INTO tax_m VALUE ('2019-10-1', 10); + +--注文ステータス +CREATE TABLE order_sts_m ( + sts_cd CHAR(5) NOT NULL COMMENT 'ステータスコード', + sts VARCHAR(50) NOT NULL COMMENT 'ステータス', + PRIMARY KEY (sts_cd) +) +COMMENT '注文ステータス'; +INSERT INTO order_sts_m VALUE ('ST001', '受注完了'); +INSERT INTO order_sts_m VALUE ('ST002', '入荷待'); +INSERT INTO order_sts_m VALUE ('ST003', '発送準備'); +INSERT INTO order_sts_m VALUE ('ST004', '発送中'); +INSERT INTO order_sts_m VALUE ('ST010', 'お客様受け取り済'); +INSERT INTO order_sts_m VALUE ('ST999', 'キャンセル'); + +---------------------------------------- +---------------------------------------- + +--顧客マスタ +CREATE TABLE user_m ( + user_id CHAR(10) NOT NULL COMMENT '顧客ID', + user_f_nm VARCHAR(50) NOT NULL COMMENT '氏', + user_f_nm_kn VARCHAR(50) NOT NULL COMMENT '氏カナ', + user_nm VARCHAR(50) NOT NULL COMMENT '名', + user_nm_kn VARCHAR(50) NOT NULL COMMENT '名カナ', + user_birth DATE NOT NULL COMMENT '生年月日', + gender_cd CHAR(2) NOT NULL COMMENT '性別', + mail_address VARCHAR(50) NOT NULL COMMENT 'メールアドレス', + user_post_no CHAR(8) NOT NULL COMMENT '郵便番号', + user_prefecture_nm VARCHAR(4) NOT NULL COMMENT '県名', + user_municipality_nm VARCHAR(50) NOT NULL COMMENT '市区町村名', + user_city_nm VARCHAR(50) NOT NULL COMMENT '町域名', + user_address VARCHAR(50) NOT NULL COMMENT '住所', + user_building_nm VARCHAR(50) COMMENT '建物名', + user_tel_nm VARCHAR(50) NOT NULL COMMENT '電話番号', + user_passwd VARCHAR(50) NOT NULL COMMENT 'パスワード', + PRIMARY KEY (user_id), + FOREIGN KEY (gender_cd) REFERENCES gender_m(gender_cd) +) +COMMENT '顧客マスタ'; +INSERT INTO user_m VALUE ('CU00000001', '山田', 'ヤマダ', '一', 'ハジメ', '1973-06-06', 'J0', 'h.yamada@hoge.com', '140-0014', '東京都', '品川区', '大井', '○○-○', 'マンション1399', '090-xxxx-xxxx', 'hX8UEzE8'); +INSERT INTO user_m VALUE ('CU00000002', '高橋', 'タカハシ', '龍也', 'タツヤ', '1970-11-10', 'J0', 't.takahashi@hoge.com', '230-0063', '神奈川県', '横浜市鶴見区', '鶴見', '×-××', NULL, '090-xxxx-xxxx', 'UQQA6B3R'); +INSERT INTO user_m VALUE ('CU00000003', '麻枝', 'マエダ', '准', 'ジュン', '1975-1-3', 'J0', 'j.maeda@hoge.com', '333-0823', '埼玉県', '川口市', '石神', '○○-○', NULL, '090-yyyy-1234', 'UDHWnLLk'); +INSERT INTO user_m VALUE ('CU00000004', '三宅', 'ミヤケ', '章介', 'ショウスケ', '1970-10-10', 'J0', 's.miyake@hoge.com', '273-0031', '千葉県', '船橋市', '西船', '○○-○', 'アパート101', '090-yyyy-5678', 'E2QGZNzw'); +INSERT INTO user_m VALUE ('CU00000005', '涼元', 'スズモト', '悠一', 'ユウイチ', '1969-1-13', 'J0', 'y.suzumoto@hoge.com', '321-0207', '栃木県', '下都賀郡壬生町', '北小林', '××××', NULL, '090-1234-xxxx', 'DZy5qadL'); + + +--クレジットカード +CREATE TABLE credit_card_t ( + user_id CHAR(10) NOT NULL COMMENT '顧客ID', + credit_div_cd CHAR(5)NOT NULL COMMENT 'カード分類コード', + credit_no CHAR(19) NOT NULL COMMENT 'カード番号', + credit_nm VARCHAR(50) NOT NULL COMMENT 'カード名義', + validated_month CHAR(2) NOT NULL COMMENT '有効期限月', + validated_year CHAR(4) NOT NULL COMMENT '有効期限年', + sc_cd CHAR(3) NOT NULL COMMENT 'シークレッドコード', + PRIMARY KEY (user_id), + FOREIGN KEY (user_id) REFERENCES user_m(user_id), + FOREIGN KEY (credit_div_cd) REFERENCES credit_div_m(credit_div_cd) +) +COMMENT 'クレジットカード'; +INSERT INTO credit_card_t VALUE ('CU00000001', 'CD001', 'xxxx-xxxx-xxxx-xxxx', 'HAJIME YAMADA', '03', '2017', 'xxx'); +INSERT INTO credit_card_t VALUE ('CU00000005', 'CD001', 'xxxx-xxxx-xxxx-xxxx', 'YUICHI SUZUMOTO', '03', '2016', 'xxx'); + +--ログイン履歴 +CREATE TABLE login_hist_t ( + user_id VARCHAR(10) NOT NULL COMMENT '顧客ID', + sfx CHAR(1) NOT NULL COMMENT 'SFX', + login_datetime DATETIME NOT NULL COMMENT 'ログイン日時', + conn_ip CHAR(15) NOT NULL COMMENT '接続先IP', + term_info VARCHAR(50) NOT NULL COMMENT '端末情報', + PRIMARY KEY (login_datetime), + FOREIGN KEY (user_id) REFERENCES user_m(user_id) +) +COMMENT 'ログイン履歴'; +INSERT INTO login_hist_t VALUE ('CU00000001', '1', '2014-10-1 10:00:00', 'xxx.xxx.xxx.xxx', 'スマートフォン'); + +---------------------------------------- +---------------------------------------- + +--商品マスタ +CREATE TABLE goods_m ( + goods_id CHAR(10) NOT NULL COMMENT '商品ID', + goods_nm VARCHAR(50) NOT NULL COMMENT '商品名', + goods_maker VARCHAR(50) NOT NULL COMMENT 'メーカー', + goods_div_cd CHAR(5) NOT NULL COMMENT '商品分類コード', + handling_date DATE NOT NULL COMMENT '取扱開始日', + goods_price INT NOT NULL DEFAULT 0 COMMENT '価格', + goods_cost INT NOT NULL DEFAULT 0 COMMENT '原価', + PRIMARY KEY (goods_id), + FOREIGN KEY (goods_div_cd) REFERENCES goods_div_m(goods_div_cd) +) +COMMENT '商品マスタ'; +INSERT INTO goods_m VALUE ('ITM0000001', 'EIZO FlexScan 27インチカラー液晶モニター', 'EIZO', 'K0002', '2012-8-24', 79110, 40000); +INSERT INTO goods_m VALUE ('ITM0000002', 'サッカー 日本代表 番号あり レプリカユニフォーム', 'adidas(アディダス)', 'K0003', '2014-3-4', 12915, 2000); +INSERT INTO goods_m VALUE ('ITM0000003', 'レイコップ ふとんクリーナー (パールホワイト)', 'レイコップ', 'K0006', '2013-9-17', 24500, 12000); +INSERT INTO goods_m VALUE ('ITM0000004', 'ブルガリ アクアプールオム マリン EDT SP 100ml', 'ブルガリ', 'K0007', '2010-3-3', 3712, 1500); +INSERT INTO goods_m VALUE ('ITM0000005', 'マジック:ザ・ギャザリング 基本セット2015 ブースターパック 日本語版 BOX', 'ウィザーズ・オブ・ザ・コースト', 'K0008', '2014-4-28', 10952, 6000); + +---------------------------------------- +---------------------------------------- + +--倉庫マスタ +CREATE TABLE store_m ( + store_id CHAR(5) NOT NULL COMMENT '倉庫ID', + store_nm VARCHAR(50) NOT NULL COMMENT '倉庫名', + store_post_no CHAR(8) NOT NULL COMMENT '郵便番号', + store_prefecture_nm VARCHAR(4) NOT NULL COMMENT '県名', + store_municipality_nm VARCHAR(50) NOT NULL COMMENT '市区町村名', + store_city_nm VARCHAR(50) NOT NULL COMMENT '町域名', + store_address VARCHAR(50) NOT NULL COMMENT '住所', + store_building_nm VARCHAR(50) COMMENT '建物名', + PRIMARY KEY (store_id) +) +COMMENT '倉庫マスタ'; +INSERT INTO store_m VALUE ('W0001', '大井倉庫', '140-0014', '東京都', '品川区', '大井', 'XXXXXXXXXXXXXXXX', 'XXXXXXXX'); + +---------------------------------------- +---------------------------------------- + +--在庫マスタ +CREATE TABLE stock_m ( + store_id CHAR(5) NOT NULL COMMENT '倉庫ID', + goods_id CHAR(10) NOT NULL COMMENT '商品ID', + arrival_date DATE NOT NULL COMMENT '入庫日', + arrival_num INT NOT NULL DEFAULT 0 COMMENT '入庫数', + security_num INT NOT NULL DEFAULT 0 COMMENT '引当数', + PRIMARY KEY (arrival_date), + FOREIGN KEY (store_id) REFERENCES store_m(store_id), + FOREIGN KEY (goods_id) REFERENCES goods_m(goods_id) +) +COMMENT '在庫マスタ'; +INSERT INTO stock_m VALUE ('W0001', 'ITM0000001', '2012-8-24', 2, 2); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000001', '2012-12-25', 3, 3); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000001', '2013-6-1', 2, 2); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000001', '2013-11-20', 5, 4); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000001', '2014-8-8', 7, 0); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000002', '2014-3-4', 100, 100); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000002', '2014-9-5', 50, 45); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000002', '2014-9-10', 60, 0); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000003', '2013-9-17', 5, 2); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000004', '2010-3-3', 10, 10); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000004', '2012-10-5', 3, 3); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000004', '2013-9-10', 6, 5); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000004', '2014-4-3', 2, 0); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000005', '2014-4-28', 150, 150); +INSERT INTO stock_m VALUE ('W0001', 'ITM0000005', '2014-5-20', 100, 86); + +---------------------------------------- +---------------------------------------- + +--入庫テーブル +CREATE TABLE ins_stock_m ( + goods_id CHAR(10) NOT NULL COMMENT '商品ID', + store_id CHAR(5) NOT NULL COMMENT '入庫先倉庫ID', + ins_stock_exp_date DATE NOT NULL COMMENT '入庫予定日', + ins_stock_cmp_date DATE COMMENT '入庫完了日', + ins_stock_exp_num INT NOT NULL COMMENT '入庫予定数', + ins_stock_num INT COMMENT '入庫数', + PRIMARY KEY (ins_stock_exp_date), + FOREIGN KEY (goods_id) REFERENCES goods_m(goods_id), + FOREIGN KEY (store_id) REFERENCES store_m(store_id) +) +COMMENT '入庫テーブル'; +INSERT INTO ins_stock_m VALUE ('ITM0000004', 'W0001', '2010-3-3', '2010-3-3', 10, 10); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2012-8-24', '2012-8-24', 2, 2); +INSERT INTO ins_stock_m VALUE ('ITM0000004', 'W0001', '2012-10-5', '2012-10-5', 3, 3); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2012-12-25', '2012-12-25', 3, 3); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2013-6-1', '2013-6-1', 2, 2); +INSERT INTO ins_stock_m VALUE ('ITM0000004', 'W0001', '2013-9-10', '2013-9-10', 6, 6); +INSERT INTO ins_stock_m VALUE ('ITM0000003', 'W0001', '2013-9-17', '2013-9-17', 5, 5); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2013-11-20', '2013-11-20', 5, 5); +INSERT INTO ins_stock_m VALUE ('ITM0000002', 'W0001', '2014-3-4', '2014-3-4', 100, 100); +INSERT INTO ins_stock_m VALUE ('ITM0000004', 'W0001', '2014-4-3', '2014-4-3', 2, 2); +INSERT INTO ins_stock_m VALUE ('ITM0000005', 'W0001', '2014-4-28', '2014-4-28', 150, 150); +INSERT INTO ins_stock_m VALUE ('ITM0000005', 'W0001', '2014-5-20', '2014-5-20', 100, 100); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2014-8-8', '2014-8-8', 7, 7); +INSERT INTO ins_stock_m VALUE ('ITM0000002', 'W0001', '2014-9-5', '2014-9-5', 50, 50); +INSERT INTO ins_stock_m VALUE ('ITM0000002', 'W0001', '2014-9-10', '2014-9-10', 60, 60); +INSERT INTO ins_stock_m VALUE ('ITM0000001', 'W0001', '2014-12-3', NULL, 5, NULL); +INSERT INTO ins_stock_m VALUE ('ITM0000002', 'W0001', '2014-12-10', NULL, 200, NULL); +INSERT INTO ins_stock_m VALUE ('ITM0000003', 'W0001', '2014-12-12', NULL, 3, NULL); +INSERT INTO ins_stock_m VALUE ('ITM0000004', 'W0001', '2014-12-15', NULL, 10, NULL); +INSERT INTO ins_stock_m VALUE ('ITM0000005', 'W0001', '2014-12-25', NULL, 80, NULL); + +---------------------------------------- +---------------------------------------- + +--注文 +CREATE TABLE order_t ( + order_no INT NOT NULL AUTO_INCREMENT COMMENT '受注番号', + order_date DATE NOT NULL COMMENT '受注日', + user_id CHAR(10) NOT NULL COMMENT '顧客ID', + sts_cd CHAR(5) NOT NULL COMMENT 'ステータス', + pay_div_cd CHAR(5) NOT NULL COMMENT '支払分類', + deli_exp_date DATE COMMENT '出荷予定日', + deli_date DATE COMMENT '出荷日', + deli_company VARCHAR(50) NOT NULL COMMENT '配送業者', + tracing_no CHAR(11) NOT NULL COMMENT '追跡番号', + arrive_exp_date DATE COMMENT '到着予定日', + cash_deli_comm_rate INT NOT NULL DEFAULT 0 COMMENT '代引手数料', + postage INT NOT NULL DEFAULT 1836 COMMENT '送料', + tax INT NOT NULL DEFAULT 0 COMMENT '消費税', + PRIMARY KEY (order_no), + FOREIGN KEY (user_id) REFERENCES user_m(user_id), + FOREIGN KEY (sts_cd) REFERENCES order_sts_m(sts_cd), + FOREIGN KEY (pay_div_cd) REFERENCES pay_div_m(pay_div_cd) +) +COMMENT '注文'; +INSERT INTO order_t VALUE (1, '2014-11-20', 'CU00000003', 'ST010', 'PY002', '2014-11-20', '2014-11-20', 'ヤマト', 'xxxxxxxxxxx', '2014-11-21', 0, 1836, 208501); +INSERT INTO order_t VALUE (2, '2014-11-25', 'CU00000001', 'ST010', 'PY001', '2014-11-25', '2014-11-25', 'ヤマト', 'xxxxxxxxxxx', '2014-11-26', 0, 1836, 94520); +INSERT INTO order_t VALUE (3, '2014-11-30', 'CU00000005', 'ST010', 'PY001', '2014-12-1', '2014-12-2', 'ヤマト', 'xxxxxxxxxxx', '2014-12-3', 0, 1836, 108562); +INSERT INTO order_t VALUE (4, '2014-12-2', 'CU00000004', 'ST010', 'PY004', '2014-12-2', '2014-12-2', 'ヤマト', 'xxxxxxxxxxx', '2014-12-3', 510, 1836, 103310); + +--注文詳細 +CREATE TABLE order_detail_t ( + order_detail_no INT NOT NULL AUTO_INCREMENT COMMENT '受注詳細番号', + order_no INT NOT NULL COMMENT '受注番号', + goods_id CHAR(10) NOT NULL COMMENT '商品ID', + goods_unit_price INT NOT NULL DEFAULT 0 COMMENT '商品単価', + goods_num INT NOT NULL DEFAULT 0 COMMENT '個数', + PRIMARY KEY (order_detail_no), + FOREIGN KEY (order_no) REFERENCES order_t(order_no), + FOREIGN KEY (goods_id) REFERENCES goods_m(goods_id) +) +COMMENT '注文詳細'; +INSERT INTO order_detail_t VALUE (1, 1, 'ITM0000002', 12915, 100); +INSERT INTO order_detail_t VALUE (2, 1, 'ITM0000005', 10952, 80); +INSERT INTO order_detail_t VALUE (3, 1, 'ITM0000003', 24500, 1); +INSERT INTO order_detail_t VALUE (4, 1, 'ITM0000004', 3712, 5); +INSERT INTO order_detail_t VALUE (5, 1, 'ITM0000001', 79110, 5); +INSERT INTO order_detail_t VALUE (6, 2, 'ITM0000001', 79110, 1); +INSERT INTO order_detail_t VALUE (7, 2, 'ITM0000002', 12915, 50); +INSERT INTO order_detail_t VALUE (8, 2, 'ITM0000004', 3712, 5); +INSERT INTO order_detail_t VALUE (9, 2, 'ITM0000005', 10952, 40); +INSERT INTO order_detail_t VALUE (10, 3, 'ITM0000001', 79110, 3); +INSERT INTO order_detail_t VALUE (11, 3, 'ITM0000003', 24500, 1); +INSERT INTO order_detail_t VALUE (12, 3, 'ITM0000005', 10952, 100); +INSERT INTO order_detail_t VALUE (13, 4, 'ITM0000001', 79110, 2); +INSERT INTO order_detail_t VALUE (14, 4, 'ITM0000002', 12915, 60); +INSERT INTO order_detail_t VALUE (15, 4, 'ITM0000004', 3712, 8); +INSERT INTO order_detail_t VALUE (16, 4, 'ITM0000005', 10952, 30); + diff --git a/Answers/Question1.txt b/Answers/Question1.txt new file mode 100644 index 0000000..39558a1 --- /dev/null +++ b/Answers/Question1.txt @@ -0,0 +1,32 @@ +--Q1 +CREATE TABLE book_table ( + book_id INT COMMENT '譖ク邀巧D', + book_name VARCHAR(50) COMMENT '譖ク邀榊錐', + author_name VARCHAR(50) COMMENT '闡苓��', + price INT COMMENT '萓。譬シ', + sales_flag INT COMMENT '雋ゥ螢イ譛臥┌' +); + +--Q2 +INSERT INTO book_table VALUES (10001, 'TwoPeace', '荳臥伐闍ア荳�驛�', 420, 1); +INSERT INTO book_table VALUES (10002, '蜷肴爾蛛オ驥醍伐莠�', '髱貞アア縺オ縺ソ繧�', 460, 1); +INSERT INTO book_table VALUES (20001, '蝮翫■繧�縺セ', '蜀ャ逶ョ貍ア蟯ゥ', 460, 1); +INSERT INTO book_table VALUES (30001, '隘ソ譁ケ隕玖◇骭イ', '荳肴��', 1000, 1); +INSERT INTO book_table VALUES (40010, '蜷セ霈ゥ縺ッ迥ャ縺ァ縺ゅk', '蜀ャ逶ョ貍ア蟯ゥ', 420, 1); + +--Q3 +SELECT book_name, author_name FROM book_table; + +--Q4 +UPDATE book_table SET author_name = '繝槭�シ繝ォ�シ昴さ繝シ�シ昴�昴Ο', sales_flag = 0 WHERE book_id = 30001; +SELECT * FROM book_table; + +--Q5 +SELECT * FROM book_table WHERE sales_flag = 1; + +--Q6 +SELECT * FROM book_table WHERE author_name = '蜀ャ逶ョ貍ア蟯ゥ' AND price = 420; + +--Q7 +DELETE FROM book_table WHERE book_id = 20001; +SELECT * FROM book_table; diff --git a/Answers/Question2.txt b/Answers/Question2.txt new file mode 100644 index 0000000..87c7083 --- /dev/null +++ b/Answers/Question2.txt @@ -0,0 +1,55 @@ +--Q1 +CREATE TABLE item_category ( + category_id INT AUTO_INCREMENT COMMENT '繧ォ繝�繧エ繝ェID', + category_name VARCHAR(256) NOT NULL COMMENT '繧ォ繝�繧エ繝ェ蜷�', + PRIMARY KEY (category_id) +) +INSERT INTO item_category (category_name) VALUES ('螳カ蜈キ'); +INSERT INTO item_category (category_name) VALUES ('鬟イ譁�'); +INSERT INTO item_category (category_name) VALUES ('鬟溷刀'); + +--Q2 +CREATE TABLE items ( + item_id INT AUTO_INCREMENT COMMENT '繧「繧、繝�繝�ID', + name VARCHAR(256) NOT NULL COMMENT '繧「繧、繝�繝�蜷�', + price INT NOT NULL COMMENT '萓。譬シ', + category_id INT COMMENT '繧ォ繝�繧エ繝ェID', + PRIMARY KEY (item_id), + FOREIGN KEY (category_id) REFERENCES item_category(category_id) +) +INSERT INTO items (name, price, category_id) VALUES ('繝ュ繝シ繝槭�ョ繝�繝シ繝悶Ν', 150000, 1); +INSERT INTO items (name, price, category_id) VALUES ('縺偵�シ縺溘k繝シ縺ゥ2000 500ml', 370, 2); +INSERT INTO items (name, price, category_id) VALUES ('蜴溷ァ玖i', 2500, 3); +INSERT INTO items (name, price, category_id) VALUES ('鬲�諠代�ョ讀�蟄�', 100000, 1); + +--Q3 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id; + +--Q4 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +ORDER BY price ASC; + +--Q5 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +WHERE category_name = '螳カ蜈キ'; + +--Q6 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +WHERE price BETWEEN 1000 AND 50000; + +--Q7 +SELECT COUNT(item_id) AS data_count FROM items; + +--Q8 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +WHERE items.price >= ALL (SELECT items.price FROM items); + +--Q9 +SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +WHERE items.name LIKE '%縺ョ%'; diff --git a/Answers/Question2alpha.txt b/Answers/Question2alpha.txt new file mode 100644 index 0000000..f79c851 --- /dev/null +++ b/Answers/Question2alpha.txt @@ -0,0 +1,90 @@ +--Q1 +SELECT items.item_id AS '蝠�蜩!D', + items.name AS '蝠�蜩∝錐', + items.price AS '萓。譬シ', + item_category.name AS '繧ォ繝�繧エ繝ェ蜷�' +FROM items INNER JOIN item_category ON items.category_id = item_category.category_id +ORDER BY items.item_id ASC; + +--Q2 +SELECT orders.order_id AS '豕ィ譁�ID', + orders.order_time AS '豕ィ譁�譌・譎�', + users.name AS '繝ヲ繝シ繧カ蜷�', + items.name AS '蝠�蜩∝錐', + items.price AS '萓。譬シ', + order_items.quantity AS '謨ー驥�' +FROM orders + INNER JOIN order_items ON orders.order_id = order_items.order_id + INNER JOIN users ON orders.user_id = users.user_id + INNER JOIN items ON order_items.item_id = items.item_id +ORDER BY orders.order_id ASC; + +--Q3 +SELECT orders.order_id AS '豕ィ譁�ID', + orders.order_time AS '豕ィ譁�譌・譎�', + users.name AS '繝ヲ繝シ繧カ蜷�', + SUM(items.price*order_items.quantity) AS '蜷郁ィ磯。�' +FROM orders + INNER JOIN order_items ON orders.order_id = order_items.order_id + INNER JOIN users ON orders.user_id = users.user_id + INNER JOIN items ON order_items.item_id = items.item_id +GROUP BY orders.order_id +ORDER BY orders.order_id ASC; + +--Q4 +SELECT SUBSTRING(orders.order_time, 1, 7) AS '豕ィ譁�譛�', + SUM(order_items.quantity) AS '豕ィ譁�謨ー' +FROM orders + INNER JOIN order_items ON orders.order_id = order_items.order_id +GROUP BY SUBSTRING(orders.order_time, 1, 7); + +--Q5 +SELECT SUBSTRING(orders.order_time, 1, 4) AS '豕ィ譁�蟷エ', + SUM(order_items.quantity*items.price) AS '螢イ荳企。�' +FROM orders + INNER JOIN order_items ON orders.order_id = order_items.order_id + INNER JOIN items ON order_items.item_id = items.item_id +GROUP BY SUBSTRING(orders.order_time, 1, 4) +ORDER BY SUBSTRING(orders.order_time, 1, 4) ASC; + +--Q6 +SELECT SUM(order_items.quantity*items.price) AS '螢イ荳企。�' +FROM order_items INNER JOIN items ON order_items.item_id = items.item_id; + +--Q7 +SELECT item_category.name AS '繧ォ繝�繧エ繝ェ蜷�', + SUM(order_items.quantity*items.price) AS '螢イ荳企。�' +FROM order_items + INNER JOIN items ON items.item_id = order_items.item_id + INNER JOIN item_category ON item_category.category_id = items.category_id +GROUP BY item_category.category_id +ORDER BY 螢イ荳企。� DESC; + +--Q8 +SELECT items.name AS '蝠�蜩∝錐', + SUM(order_items.quantity*items.price) AS '螢イ荳企。�' +FROM order_items + INNER JOIN items ON items.item_id = order_items.item_id +GROUP BY items.name +ORDER BY 螢イ荳企。� DESC; + +--Q9 +SELECT item_category.name AS '繧ォ繝�繧エ繝ェ蜷�', + SUM( 100*order_items.quantity*items.price/ + (SELECT SUM(order_items.quantity*items.price) + FROM order_items INNER JOIN items ON order_items.item_id = items.item_id) ) AS '讒区�先ッ費シ茨シ��シ�' +FROM order_items + INNER JOIN items ON items.item_id = order_items.item_id + INNER JOIN item_category ON item_category.category_id = items.category_id +GROUP BY item_category.category_id +ORDER BY 讒区�先ッ費シ茨シ��シ� DESC; + +--Q10 +SELECT items.name AS '蝠�蜩∝錐', + SUM( 100*order_items.quantity*items.price/ + (SELECT SUM(order_items.quantity*items.price) + FROM order_items INNER JOIN items ON order_items.item_id = items.item_id) ) AS '讒区�先ッ費シ茨シ��シ�' +FROM order_items + INNER JOIN items ON items.item_id = order_items.item_id +GROUP BY items.name +ORDER BY 讒区�先ッ費シ茨シ��シ� DESC;