3 Commits

Author SHA1 Message Date
84c6f74002 Q2+α終わりました 2026-09-28 17:12:39 +09:00
760ccf0169 Q2終わりました 2026-09-28 13:40:51 +09:00
c9e5e80e6b Q1終わりました 2026-09-28 12:34:02 +09:00
5 changed files with 652 additions and 56 deletions

View File

@@ -1,25 +0,0 @@
問1
CREATE TABLE book_table(book_id INT,book_name VARCHAR(50),author_name VARCHAR(50),price INT,sales_flag INT);
問2
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,'吾輩は犬である','冬目漱岩',420,1);
問3
SELECT book_name,author_name FROM book_table;
問4
UPDATE book_table SET author_name = 'マール=コ=ポロ' WHERE book_id = 30001;
UPDATE book_table SET sales_flag = 0 WHERE book_id = 30001;
問5
SELECT * FROM book_table WHERE sales_flag = 1;
問6
SELECT * FROM book_table WHERE author_name = '冬目漱岩' AND price = 420;
問7
DELETE FROM book_table WHERE book_id = 20001;

View File

@@ -0,0 +1,104 @@
mysql> CREATE TABLE book_table (
-> book_id INT,
-> book_name VARCHAR(50),
-> author_name VARCHAR(50),
-> price INT,
-> sales_flag INT
-> );
Query OK, 0 rows affected (0.03 sec)
mysql> INSERT INTO book_table VALUES (10001, 'TwoPeace', '三田栄一郎', 420, 1);
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO book_table VALUES (10002, '名探偵金田二', '青山ふみや', 460, 1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO book_table VALUES (20001, '坊ちゃま', '冬目漱岩', 460, 1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO book_table VALUES (30001, '西方見聞録', '不明', 1000, 1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO book_table VALUES (40010, '吾輩は犬である', '冬目漱岩', 420, 1);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM book_table;
+---------+----------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+-------------+-------+------------+
| 10001 | TwoPeace | 三田栄一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 20001 | 坊ちゃま | 冬目漱岩 | 460 | 1 |
| 30001 | 西方見聞録 | 不明 | 1000 | 1 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+-------------+-------+------------+
5 rows in set (0.00 sec)
mysql> SELECT book_name , author_name FROM book_table;
+----------------+-------------+
| book_name | author_name |
+----------------+-------------+
| TwoPeace | 三田栄一郎 |
| 名探偵金田二 | 青山ふみや |
| 坊ちゃま | 冬目漱岩 |
| 西方見聞録 | 不明 |
| 吾輩は犬である | 冬目漱岩 |
+----------------+-------------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM book_table;
+---------+----------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+-------------+-------+------------+
| 10001 | TwoPeace | 三田栄一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 20001 | 坊ちゃま | 冬目漱岩 | 460 | 1 |
| 30001 | 西方見聞録 | 不明 | 1000 | 0 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+-------------+-------+------------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM book_table WHERE sales_flag = 1;
+---------+----------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+-------------+-------+------------+
| 10001 | TwoPeace | 三田栄一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 20001 | 坊ちゃま | 冬目漱岩 | 460 | 1 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+-------------+-------+------------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM book_table WHERE author_name = '冬目漱岩' AND price = 420;
+---------+----------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+-------------+-------+------------+
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+-------------+-------+------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM book_table;
+---------+----------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+-------------+-------+------------+
| 10001 | TwoPeace | 三田栄一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 30001 | 西方見聞録 | 不明 | 1000 | 0 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+-------------+-------+------------+
4 rows in set (0.00 sec)
mysql> UPDATE book_table SET author_name = 'マール=コー=ポロ' WHERE book_id = 30001;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM book_table;
+---------+----------------+--------------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+----------------+--------------------+-------+------------+
| 10001 | TwoPeace | 三田栄一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 30001 | 西方見聞録 | マール=コー=ポロ | 1000 | 0 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+--------------------+-------+------------+
4 rows in set (0.00 sec)

View File

@@ -1,3 +1,375 @@
問1
SELECT items.商品ID,items.商品名,items.価格,item_category.カテゴリ名 FROM items INNER JOIN item_category ON items.category_id = item_category.category_id ORDER BY 商品ID ASC;
mysql> CREATE TABLE items2 (
-> `商品ID` INT,
-> `商品名` VARCHAR(256),
-> `価格` INT,
-> `カテゴリ名` VARCHAR(256)
-> );
Query OK, 0 rows affected (0.05 sec)
mysql> SELECT * FROM items2;
Empty set (0.00 sec)
mysql> INSERT INTO items2 VALUES (1, 'ローマのテーブル', 150000, '家具');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO items2 VALUES (2, 'げーたるーど2000 500ml', 370, '飲料');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (3, '原始肉', 2500, '食品');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (4, '魅惑の椅子', 100000, '家具');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO items2 VALUES (5, '十八茶 600ml', 110, '飲料');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO items2 VALUES (6, 'いい匂いのするドリアン', 5000, '食品');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (7, '太平洋の水 550ml', 300, '飲料');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (8, 'ひたすら膨らむガム', 200, '食品');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (9, '人をだめにするソファー', 10000, '家具');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (10, '人を虜にする名酒', 20000, '飲料');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items2 VALUES (11, '新鮮キャベツ', 1000, '食品');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM items2;
+--------+------------------------+--------+------------+
| 商品ID | 商品名 | 価格 | カテゴリ名 |
+--------+------------------------+--------+------------+
| 1 | ローマのテーブル | 150000 | 家具 |
| 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 原始肉 | 2500 | 食品 |
| 4 | 魅惑の椅子 | 100000 | 家具 |
| 5 | 十八茶 600ml | 110 | 飲料 |
| 6 | いい匂いのするドリアン | 5000 | 食品 |
| 7 | 太平洋の水 550ml | 300 | 飲料 |
| 8 | ひたすら膨らむガム | 200 | 食品 |
| 9 | 人をだめにするソファー | 10000 | 家具 |
| 10 | 人を虜にする名酒 | 20000 | 飲料 |
| 11 | 新鮮キャベツ | 1000 | 食品 |
+--------+------------------------+--------+------------+
11 rows in set (0.00 sec)
mysql> CREATE TABLE users (
-> `ユーザ名` VARCHAR(256),
-> `注文ID` INT,
-> `商品ID` INT,
-> `数量` INT,
-> `注文日時` VARCHAR(256)
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 1, 2, 1, '2015-02-22 12:00:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 1, 6, 10, '2015-02-22 12:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 1, 7, 1, '2015-02-22 12:00:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 1,11, 10, '2015-02-22 12:00:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('本田啓介', 2, 4, 1, '2015-12-01 15:30:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('芝崎学', 3, 9, 1, '2018-03-20 18:45:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('遠藤保', 4, 7, 1, '2018-05-11 11:28:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('遠藤保', 4, 8, 10, '2018-05-11 11:28:00');
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE users SET `数量` = 1 WHERE `注文日時` = '2018-05-11 11:28:00';
Query OK, 1 row affected (0.01 sec)
Rows matched: 2 Changed: 1 Warnings: 0
mysql> INSERT INTO users VALUES ('三浦知一', 1, 8, 10, '2018-05-11 11:28:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('本田啓介', 2, 4, 2, '2018-09-15 21:34:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('花川真司', 5, 2, 7, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.01 sec)
mysql> UPDATE users SET `注文ID` = 7 WHERE `注文日時` = '2018-09-15 21:34:00';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> INSERT INTO users VALUES ('花川真司', 5, 3, 5, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('花川真司', 5, 5, 1, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('花川真司', 5, 7, 1, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('花川真司', 5, 10, 1, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('花川真司', 5, 11, 5, '2018-09-30 10:50:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 8, 1, 1, '2019-05-06 16:00:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('三浦知一', 8, 9, 1, '2019-05-06 16:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('芝崎学', 9, 3, 4, '2019-12-20 10:39:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('芝崎学', 9, 5, 2, '2019-12-20 10:39:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('芝崎学', 9, 8, 10, '2019-12-20 10:39:00');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO users VALUES ('遠藤保', 10, 1, 2, '2020-01-01 14:11:00');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO users VALUES ('遠藤保', 10, 10, 2, '2020-01-01 14:11:00');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM users;
+----------+--------+--------+------+---------------------+
| ユーザ名 | 注文ID | 商品ID | 数量 | 注文日時 |
+----------+--------+--------+------+---------------------+
| 三浦知一 | 1 | 2 | 1 | 2015-02-22 12:00:00 |
| 三浦知一 | 1 | 6 | 10 | 2015-02-22 12:00:00 |
| 三浦知一 | 1 | 7 | 1 | 2015-02-22 12:00:00 |
| 三浦知一 | 1 | 11 | 10 | 2015-02-22 12:00:00 |
| 本田啓介 | 2 | 4 | 1 | 2015-12-01 15:30:00 |
| 芝崎学 | 3 | 9 | 1 | 2018-03-20 18:45:00 |
| 遠藤保 | 4 | 7 | 1 | 2018-05-11 11:28:00 |
| 遠藤保 | 4 | 8 | 1 | 2018-05-11 11:28:00 |
| 三浦知一 | 1 | 8 | 10 | 2018-05-11 11:28:00 |
| 本田啓介 | 7 | 4 | 2 | 2018-09-15 21:34:00 |
| 花川真司 | 5 | 2 | 7 | 2018-09-30 10:50:00 |
| 花川真司 | 5 | 3 | 5 | 2018-09-30 10:50:00 |
| 花川真司 | 5 | 5 | 1 | 2018-09-30 10:50:00 |
| 花川真司 | 5 | 7 | 1 | 2018-09-30 10:50:00 |
| 花川真司 | 5 | 10 | 1 | 2018-09-30 10:50:00 |
| 花川真司 | 5 | 11 | 5 | 2018-09-30 10:50:00 |
| 三浦知一 | 8 | 1 | 1 | 2019-05-06 16:00:00 |
| 三浦知一 | 8 | 9 | 1 | 2019-05-06 16:00:00 |
| 芝崎学 | 9 | 3 | 4 | 2019-12-20 10:39:00 |
| 芝崎学 | 9 | 5 | 2 | 2019-12-20 10:39:00 |
| 芝崎学 | 9 | 8 | 10 | 2019-12-20 10:39:00 |
| 遠藤保 | 10 | 1 | 2 | 2020-01-01 14:11:00 |
| 遠藤保 | 10 | 10 | 2 | 2020-01-01 14:11:00 |
+----------+--------+--------+------+---------------------+
23 rows in set (0.00 sec)
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` INNER items JOIN users ON items.`注文ID` = users.`注文ID`;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER items JOIN users ON items.`注文ID` = users.`注文ID`' at line 1
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` FROM users AS u INNER JOIN items AS i ON items.`注文ID` = users.`注文ID`;
ERROR 1054 (42S22): Unknown column 'i.商品名' in 'field list'
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` FROM users AS u INNER JOIN items2 AS i ON items.`注文ID` = users.`注文ID`;
ERROR 1054 (42S22): Unknown column 'items.注文ID' in 'on clause'
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` FROM users AS u INNER JOIN items2 AS i ON items2.`注文ID` = users.`注文ID`;
ERROR 1054 (42S22): Unknown column 'items2.注文ID' in 'on clause'
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` FROM users AS u INNER JOIN items2 AS i ON i.`注文ID` = u.`注文ID`;
ERROR 1054 (42S22): Unknown column 'i.注文ID' in 'on clause'
mysql> SELECT u.`注文ID`, u.`注文日時`, u.`ユーザ名`, i.`商品名`, i.`価格`, u.`数量` FROM users AS u INNER JOIN items2 AS i ON i.`商品ID` = u.`商品ID`;
+--------+---------------------+----------+------------------------+--------+------+
| 注文ID | 注文日時 | ユーザ名 | 商品名 | 価格 | 数量 |
+--------+---------------------+----------+------------------------+--------+------+
| 1 | 2015-02-22 12:00:00 | 三浦知一 | げーたるーど2000 500ml | 370 | 1 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | いい匂いのするドリアン | 5000 | 10 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 太平洋の水 550ml | 300 | 1 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 新鮮キャベツ | 1000 | 10 |
| 2 | 2015-12-01 15:30:00 | 本田啓介 | 魅惑の椅子 | 100000 | 1 |
| 3 | 2018-03-20 18:45:00 | 芝崎学 | 人をだめにするソファー | 10000 | 1 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | 太平洋の水 550ml | 300 | 1 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | ひたすら膨らむガム | 200 | 1 |
| 1 | 2018-05-11 11:28:00 | 三浦知一 | ひたすら膨らむガム | 200 | 10 |
| 7 | 2018-09-15 21:34:00 | 本田啓介 | 魅惑の椅子 | 100000 | 2 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | げーたるーど2000 500ml | 370 | 7 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 原始肉 | 2500 | 5 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 十八茶 600ml | 110 | 1 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 太平洋の水 550ml | 300 | 1 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 人を虜にする名酒 | 20000 | 1 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 新鮮キャベツ | 1000 | 5 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | ローマのテーブル | 150000 | 1 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | 人をだめにするソファー | 10000 | 1 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 原始肉 | 2500 | 4 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 十八茶 600ml | 110 | 2 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | ひたすら膨らむガム | 200 | 10 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | ローマのテーブル | 150000 | 2 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | 人を虜にする名酒 | 20000 | 2 |
+--------+---------------------+----------+------------------------+--------+------+
23 rows in set (0.00 sec)
mysql> UPDATE total SET `注文ID` = 6 WHERE `注文日時` = '2018-05-11 11:28:00';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT `注文ID`, `注文日時`, `ユーザ名`, SUM(`合計額`) AS '合計額' FROM total GROUP BY `注文ID`, `注文日時`, `ユーザ名` ORDER BY `注文ID`;
+--------+---------------------+----------+--------+
| 注文ID | 注文日時 | ユーザ名 | 合計額 |
+--------+---------------------+----------+--------+
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 60670 |
| 1 | 2018-05-11 11:28:00 | 三浦知一 | 2000 |
| 2 | 2015-12-01 15:30:00 | 本田啓介 | 100000 |
| 3 | 2018-03-20 18:45:00 | 芝崎学 | 10000 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | 500 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 40500 |
| 7 | 2018-09-15 21:34:00 | 本田啓介 | 200000 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | 160000 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 12220 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | 340000 |
+--------+---------------------+----------+--------+
10 rows in set (0.00 sec)
mysql> SELECT * FROM total;
+--------+---------------------+----------+------------------------+--------+------+--------+
| 注文ID | 注文日時 | ユーザ名 | 商品名 | 価格 | 数量 | 合計額 |
+--------+---------------------+----------+------------------------+--------+------+--------+
| 1 | 2015-02-22 12:00:00 | 三浦知一 | げーたるーど2000 500ml | 370 | 1 | 370 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | いい匂いのするドリアン | 5000 | 10 | 50000 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 太平洋の水 550ml | 300 | 1 | 300 |
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 新鮮キャベツ | 1000 | 10 | 10000 |
| 2 | 2015-12-01 15:30:00 | 本田啓介 | 魅惑の椅子 | 100000 | 1 | 100000 |
| 3 | 2018-03-20 18:45:00 | 芝崎学 | 人をだめにするソファー | 10000 | 1 | 10000 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | 太平洋の水 550ml | 300 | 1 | 300 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | ひたすら膨らむガム | 200 | 1 | 200 |
| 6 | 2018-09-12 20:13:00 | 三浦知一 | ひたすら膨らむガム | 200 | 10 | 2000 |
| 7 | 2018-09-15 21:34:00 | 本田啓介 | 魅惑の椅子 | 100000 | 2 | 200000 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | げーたるーど2000 500ml | 370 | 7 | 2590 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 原始肉 | 2500 | 5 | 12500 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 十八茶 600ml | 110 | 1 | 110 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 太平洋の水 550ml | 300 | 1 | 300 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 人を虜にする名酒 | 20000 | 1 | 20000 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 新鮮キャベツ | 1000 | 5 | 5000 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | ローマのテーブル | 150000 | 1 | 150000 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | 人をだめにするソファー | 10000 | 1 | 10000 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 原始肉 | 2500 | 4 | 10000 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 十八茶 600ml | 110 | 2 | 220 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | ひたすら膨らむガム | 200 | 10 | 2000 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | ローマのテーブル | 150000 | 2 | 300000 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | 人を虜にする名酒 | 20000 | 2 | 40000 |
+--------+---------------------+----------+------------------------+--------+------+--------+
23 rows in set (0.00 sec)
mysql> SELECT `注文ID`, MIN(`注文日時`) AS `注文日時`, `ユーザ名`, SUM(`合計額`) AS '合計額' FROM total GROUP BY `注文ID`, `ユーザ名` ORDER BY `注文ID`;
+--------+---------------------+----------+--------+
| 注文ID | 注文日時 | ユーザ名 | 合計額 |
+--------+---------------------+----------+--------+
| 1 | 2015-02-22 12:00:00 | 三浦知一 | 60670 |
| 2 | 2015-12-01 15:30:00 | 本田啓介 | 100000 |
| 3 | 2018-03-20 18:45:00 | 芝崎学 | 10000 |
| 4 | 2018-05-11 11:28:00 | 遠藤保 | 500 |
| 5 | 2018-09-30 10:50:00 | 花川真司 | 40500 |
| 6 | 2018-09-12 20:13:00 | 三浦知一 | 2000 |
| 7 | 2018-09-15 21:34:00 | 本田啓介 | 200000 |
| 8 | 2019-05-06 16:00:00 | 三浦知一 | 160000 |
| 9 | 2019-12-20 10:39:00 | 芝崎学 | 12220 |
| 10 | 2020-01-01 14:11:00 | 遠藤保 | 340000 |
+--------+---------------------+----------+--------+
10 rows in set (0.00 sec)10 rows in set (0.00 sec)
mysql> SELECT DATE_FORMAT(`注文日時`, '%Y/%m') AS `注文月`, SUM(`数量`) AS `注文数` FROM total GROUP BY DATE_FORMAT(`注文日時`, '%Y/%m') ORDER BY `注文月`;
+---------+--------+
| 注文月 | 注文数 |
+---------+--------+
| 2015/02 | 22 |
| 2015/12 | 1 |
| 2018/03 | 1 |
| 2018/05 | 2 |
| 2018/09 | 32 |
| 2019/05 | 2 |
| 2019/12 | 16 |
| 2020/01 | 4 |
+---------+--------+
8 rows in set (0.00 sec)
mysql> SELECT DATE_FORMAT(`注文日時`, '%Y') AS `注文年`, SUM(`合計額`) AS `売上額` FROM total GROUP BY DATE_FORMAT(`注文日時`, '%Y') ORDER BY `注文年`;
+--------+--------+
| 注文年 | 売上額 |
+--------+--------+
| 2015 | 160670 |
| 2018 | 253000 |
| 2019 | 172220 |
| 2020 | 340000 |
+--------+--------+
4 rows in set (0.00 sec)
mysql> SELECT SUM(`合計額`) AS `売上額` FROM total;
+--------+
| 売上額 |
+--------+
| 925890 |
+--------+
1 row in set (0.00 sec)
mysql> SELECT i.`カテゴリ名`, SUM(t.`合計額`) AS `売上額` FROM total AS t INNER JOIN items2 AS i ON t.`商品名` = i.`商品名` GROUP BY i.`カテゴリ名` ORDER BY `売上額` DESC;
+------------+--------+
| カテゴリ名 | 売上額 |
+------------+--------+
| 家具 | 770000 |
| 食品 | 91700 |
| 飲料 | 64190 |
+------------+--------+
3 rows in set (0.00 sec)
mysql> SELECT `商品名`, SUM(`合計額`) AS `売上額` FROM total GROUP BY total.`商品名` ORDER BY `売上額` DESC;
+------------------------+--------+
| 商品名 | 売上額 |
+------------------------+--------+
| ローマのテーブル | 450000 |
| 魅惑の椅子 | 300000 |
| 人を虜にする名酒 | 60000 |
| いい匂いのするドリアン | 50000 |
| 原始肉 | 22500 |
| 人をだめにするソファー | 20000 |
| 新鮮キャベツ | 15000 |
| ひたすら膨らむガム | 4200 |
| げーたるーど2000 500ml | 2960 |
| 太平洋の水 550ml | 900 |
| 十八茶 600ml | 330 |
+------------------------+--------+
11 rows in set (0.00 sec)
mysql> SELECT i.`カテゴリ名` , ROUND( SUM(t.`合計額`) / SUM(SUM(t.`合計額`)) OVER() * 100,4) AS `構成比(%)` FROM total AS t INNER JOIN items2 AS i ON t.`商品名` = i.`商品名` GROUP BY i.`カテゴリ名` ORDER BY `構成比(%)` DESC;
+------------+-----------+
| カテゴリ名 | 構成比(%) |
+------------+-----------+
| 家具 | 83.1632 |
| 食品 | 9.9040 |
| 飲料 | 6.9328 |
+------------+-----------+
3 rows in set (0.00 sec)
mysql> SELECT `商品名`, ROUND( SUM(`合計額`) / SUM(SUM(`合計額`)) OVER() * 100,4) AS `構成比(%)` FROM total GROUP BY `商品名` ORDER BY `構成比(%)` DESC;
+------------------------+-----------+
| 商品名 | 構成比(%) |
+------------------------+-----------+
| ローマのテーブル | 48.6019 |
| 魅惑の椅子 | 32.4013 |
| 人を虜にする名酒 | 6.4803 |
| いい匂いのするドリアン | 5.4002 |
| 原始肉 | 2.4301 |
| 人をだめにするソファー | 2.1601 |
| 新鮮キャベツ | 1.6201 |
| ひたすら膨らむガム | 0.4536 |
| げーたるーど2000 500ml | 0.3197 |
| 太平洋の水 550ml | 0.0972 |
| 十八茶 600ml | 0.0356 |
+------------------------+-----------+
11 rows in set (0.00 sec)

View File

@@ -1,29 +0,0 @@
問1
CREATE TABLE item_category(category_id INT AUTO_INCREMENT PRIMARY KEY,category_name VARCHAR(256) NOT NULL);
INSERT INTO item_category(category_name)VALUES('家具')('飲料'),('食品');
問2
CREATE TABLE items(item_id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(256) NOT NULL,price INT NOT NULL,category_id INT, FOREIGN KEY(category_id)REFERENCES item_category(category_id));
INSERT INTO items(name,price,category_id) VALUE('ローマのテーブル',150000,1),('げーたるーど2000 500ml',370,2),('原始肉',2500,3),('魅惑の椅子',100000,1);
問3
SELECT item_category.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;
問4
SELECT item_category.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;
問5
SELECT item_category.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='家具';
問6
SELECT item_category.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;
問7
SELECT COUNT(*) AS data_count FROM items;
問8
SELECT item_category.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 = (SELECT MAX(price) FROM items);
問9
SELECT item_category.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 name LIKE '%の%';

View File

@@ -0,0 +1,174 @@
mysql> CREATE TABLE item_category (
-> category_id INT,
-> category_name VARCHAR(256)
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO item_category VALUES (1, '家具');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO item_category VALUES (2, '飲料');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO item_category VALUES (3, '食品');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM item_category;
+-------------+---------------+
| category_id | category_name |
+-------------+---------------+
| 1 | 家具 |
| 2 | 飲料 |
| 3 | 食品 |
+-------------+---------------+
3 rows in set (0.00 sec)
mysql> CREATE TABLE items (
-> item_id INT,
-> name VARCHAR(256),
-> price INT,
-> category_id INT
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO items VALUES (1, 'ローマのテーブル', 150000, 1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items VALUES (2, 'げーたるーど2000 500ml', 370, 2);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items VALUES (3, '原始肉', 2500, 3);l
Query OK, 1 row affected (0.01 sec)
-> INSERT INTO items VALUES (4, '魅惑の椅子', 100000, 1);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'l
INSERT INTO items VALUES (4, '魅惑の椅子', 100000, 1)' at line 1
mysql> INSERT INTO items VALUES (3, '原始肉', 2500, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO items VALUES (4, '魅惑の椅子', 100000, 1);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM items;
+---------+------------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 2 | げーたるーど2000 500ml | 370 | 2 |
| 3 | 原始肉 | 2500 | 3 |
| 3 | 原始肉 | 2500 | 3 |
| 4 | 魅惑の椅子 | 100000 | 1 |
+---------+------------------------+--------+-------------+
5 rows in set (0.00 sec)
mysql> DELETE FROM items WHERE item_id = 3;
Query OK, 2 rows affected (0.00 sec)
mysql> SELECT * FROM items;
+---------+------------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 2 | げーたるーど2000 500ml | 370 | 2 |
| 4 | 魅惑の椅子 | 100000 | 1 |
+---------+------------------------+--------+-------------+
3 rows in set (0.00 sec)
mysql> INSERT INTO items VALUES (3, '原始肉', 2500, 3);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM items;
+---------+------------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 2 | げーたるーど2000 500ml | 370 | 2 |
| 4 | 魅惑の椅子 | 100000 | 1 |
| 3 | 原始肉 | 2500 | 3 |
+---------+------------------------+--------+-------------+
4 rows in set (0.00 sec)
mysql> DELETE FROM items WHERE item_id = 4;
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO items VALUES (4, '魅惑の椅子', 100000, 1);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM items;
+---------+------------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 2 | げーたるーど2000 500ml | 370 | 2 |
| 3 | 原始肉 | 2500 | 3 |
| 4 | 魅惑の椅子 | 100000 | 1 |
+---------+------------------------+--------+-------------+
4 rows in set (0.00 sec)
mysql> 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;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> 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;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> 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 AND items.category_id = 1;
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)
mysql> 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 AND 1000 <= items.price AND items.price <= 50000;
+-------------+---------+--------+-------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+--------+-------+---------------+
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+--------+-------+---------------+
1 row in set (0.00 sec)
mysql> SELECT COUNT(*) AS data_count FROM items;
+------------+
| data_count |
+------------+
| 4 |
+------------+
1 row in set (0.00 sec)
mysql> CREATE TABLE items_category AS 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;
Query OK, 4 rows affected (0.03 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM items_category WHERE price = (SELECT MAX(price) FROM items_category);
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------+--------+---------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM items_category WHERE name LIKE '%の%';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)