diff --git a/【練習問題】 SQL/Question2/Question2.sql b/【練習問題】 SQL/Question2/Question2.sql new file mode 100644 index 0000000..b3d2240 --- /dev/null +++ b/【練習問題】 SQL/Question2/Question2.sql @@ -0,0 +1,122 @@ +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) \ No newline at end of file