2 Commits

Author SHA1 Message Date
8447f34aa5 Question 2 Done 2026-09-28 13:01:36 +09:00
89f52f44b0 Question1 2026-09-28 11:30:37 +09:00
4 changed files with 155 additions and 268 deletions

View File

@@ -0,0 +1,23 @@
問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 sales_flag= 0 WHERE book_id =30001;
問5
SELECT * FROM book_table WHERE sales_flag LIKE '%1%';
問6
SELECT * FROM book_table WHERE author_name = '冬目漱岩' AND price = 420;
問7
DELETE FROM book_table WHERE book_id = 20001;

View File

@@ -1,146 +0,0 @@
mysql> ALTER TABLE book_table MODIFY COLUMN book_id INT COMMENT '書籍ID';
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE book_table MODIFY COLUMN book_name VARCHAR(50) COMMENT '書籍名';
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE book_table MODIFY COLUMN author_name VARCHAR(50) COMMENT '著者';
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE book_table MODIFY COLUMN price INT COMMENT '価格';
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE book_table MODIFY COLUMN sales_flag INT COMMENT '販売有無';
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> INSERT INTO book_table VALUES(10001, TwoPeace, 三田英一郎, 420, 1);
ERROR 1054 (42S22): Unknown column 'TwoPeace' in 'field list'
mysql> INSERT INTO book_table VALUES(10001, 'TwoPeace', '三田英一郎', 420, 1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO book_table VALUES(10002, '名探偵金田二', '青山ふみや', 460, 1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO book_table VALUES(10003, '坊ちゃま', '冬目漱岩', 460, 1);
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE book_table SET book_id = 20001 WHERE 10003;
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT * FROM book_table;
+---------+--------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+--------------+-------------+-------+------------+
| 20001 | TwoPeace | 三田英一郎 | 420 | 1 |
| 20001 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 20001 | 坊ちゃま | 冬目漱岩 | 460 | 1 |
+---------+--------------+-------------+-------+------------+
3 rows in set (0.00 sec)
mysql> UPDATE book_table SET book_id = 10001 WHERE price = 420;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE book_table SET book_id = 10002 WHERE author_name = '青山ふみや';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> ^C
mysql> SELECT * FROM book_table;
+---------+--------------+-------------+-------+------------+
| book_id | book_name | author_name | price | sales_flag |
+---------+--------------+-------------+-------+------------+
| 10001 | TwoPeace | 三田英一郎 | 420 | 1 |
| 10002 | 名探偵金田二 | 青山ふみや | 460 | 1 |
| 20001 | 坊ちゃま | 冬目漱岩 | 460 | 1 |
+---------+--------------+-------------+-------+------------+
3 rows in set (0.00 sec)
mysql> INSERT INTO book_table VALUES(30001, '西方見聞録', '不明', 1000, 1);
Query OK, 1 row affected (0.00 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> 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> UPDATE book_table SET sales_flag = 0 WHERE book_id = 30001;
Query OK, 1 row affected (0.01 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 |
| 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> DELETE FROM book_table where book_id = 20001;
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 |
| 30001 | 西方見聞録 | マール=コー=ポロ | 1000 | 0 |
| 40010 | 吾輩は犬である | 冬目漱岩 | 420 | 1 |
+---------+----------------+--------------------+-------+------------+
4 rows in set (0.00 sec)

View File

@@ -1,122 +0,0 @@
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.05 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.00 sec)
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.05 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.05 sec)
mysql> SELECT * FROM item_category LEFT JOIN items USING(category_id);
+-------------+---------------+---------+------------------------+--------+
| category_id | category_name | item_id | name | price |
+-------------+---------------+---------+------------------------+--------+
| 1 | 家具 | 4 | 魅惑の椅子 | 100000 |
| 1 | 家具 | 1 | ローマのテーブル | 150000 |
| 2 | 飲料 | 2 | げーたるーど2000 500ml | 370 |
| 3 | 食品 | 3 | 原始肉 | 2500 |
+-------------+---------------+---------+------------------------+--------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM item_category RIGHT JOIN items USING(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 * FROM item_category RIGHT JOIN items USING(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 * FROM item_category RIGHT JOIN items USING(category_id) where category_name = '家具';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM item_category RIGHT JOIN items USING(category_id) where price > 1000 AND 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.01 sec)
mysql> SELECT * FROM item_category RIGHT JOIN items USING(category_id) WHERE price = (SELECT MAX(price) FROM items);
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------+--------+---------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM item_category RIGHT JOIN items USING(category_id) WHERE name LIKE '%の%';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)

View File

@@ -0,0 +1,132 @@
問題1
mysql> CREATE TABLE item_category (
-> category_id INT AUTO_INCREMENT PRIMARY KEY,
-> category_name VARCHAR(256) NOT NULL
-> );
Query OK, 0 rows affected (0.03 sec)
mysql> INSERT INTO item_category ('家具');
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 ''家具')' at line 1
mysql> ^C
mysql>
mysql> INSERT INTO item_category (category_name) VALUES ('家具');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO item_category (category_name) VALUES ('飲料');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO item_category (category_name) VALUES ('食品');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM item_category;
+-------------+---------------+
| category_id | category_name |
+-------------+---------------+
| 1 | 家具 |
| 2 | 飲料 |
| 3 | 食品 |
+-------------+---------------+
3 rows in set (0.00 sec)
問題2
CREATE TABLE items ( item_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(256), price INT, category_id INT, 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 ('げーたるど2000 500 ml', 370, 2);
mysql> INSERT INTO items (name, price, category_id) VALUES ('原始肉', 2500, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO items (name, price, category_id) VALUES ('魅惑の橋子', 100000, 1);
Query OK, 1 row affected (0.00 sec)
問題3
SELECT * FROM items JOIN item_category USING (category_id);
+-------------+---------+-----------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+-----------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の橋子 | 100000 | 家具 |
| 2 | 2 | げーたるど2000 500 ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+-----------------------+--------+---------------+
4 rows in set (0.00 sec)
問題4
SELECT *
FROM items
JOIN item_category USING (category_id)
ORDER BY price ASC;
+-------------+---------+-----------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+-----------------------+--------+---------------+
| 2 | 2 | げーたるど2000 500 ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
| 1 | 4 | 魅惑の橋子 | 100000 | 家具 |
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+-----------------------+--------+---------------+
4 rows in set (0.00 sec)
問題5
SELECT * FROM items JOIN item_category USING (category_id) WHERE category_name = '家具';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の橋子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)
問題 6
mysql> SELECT * FROM items JOIN item_category USING (category_id) WHERE price BETWEEN 1000 AND 50000;
+-------------+---------+--------+-------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+--------+-------+---------------+
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+--------+-------+---------------+
1 row in set (0.00 sec)
問題7
mysql> SELECT COUNT(*) AS total_items FROM items;
+-------------+
| total_items |
+-------------+
| 4 |
+-------------+
1 row in set (0.00 sec)
問題8
mysql> SELECT * FROM items WHERE price = (SELECT MAX(price) FROM items);
+---------+------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
+---------+------------------+--------+-------------+
1 row in set (0.00 sec)
問題9
mysql> SELECT * FROM items WHERE name LIKE '%の%';
+---------+------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 4 | 魅惑の橋子 | 100000 | 1 |
+---------+------------------+--------+-------------+
2 rows in set (0.00 sec)