問題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)