Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c7616bbc66 | |||
| 7ab239ca2d | |||
| 87759938c2 | |||
| 8447f34aa5 | |||
| 89f52f44b0 |
23
【練習問題】 SQL/Question1/Question1.txt
Normal file
23
【練習問題】 SQL/Question1/Question1.txt
Normal 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;
|
||||||
68
【練習問題】 SQL/Question2/+α.txt
Normal file
68
【練習問題】 SQL/Question2/+α.txt
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
問題1
|
||||||
|
mysql> SELECT
|
||||||
|
-> i.item_id,
|
||||||
|
-> i.name AS item_name,
|
||||||
|
-> i.price,
|
||||||
|
-> c.name AS category_name
|
||||||
|
-> FROM items i
|
||||||
|
-> INNER JOIN item_category c ON i.category_id = c.category_id
|
||||||
|
-> ORDER BY i.item_id;
|
||||||
|
+---------+------------------------+--------+---------------+
|
||||||
|
| item_id | item_name | price | category_name |
|
||||||
|
+---------+------------------------+--------+---------------+
|
||||||
|
| 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)
|
||||||
|
|
||||||
|
問題2
|
||||||
|
|
||||||
|
mysql> SELECT
|
||||||
|
-> o.order_id AS '注文ID',
|
||||||
|
-> o.order_time AS '注文日時',
|
||||||
|
-> u.name AS 'ユーザ名',
|
||||||
|
-> i.name AS '商品名',
|
||||||
|
-> i.price AS '価格',
|
||||||
|
-> oi.quantity AS '数量'
|
||||||
|
-> FROM orders o
|
||||||
|
-> INNER JOIN users u ON o.user_id = u.user_id
|
||||||
|
-> INNER JOIN order_items oi ON o.order_id = oi.order_id
|
||||||
|
-> INNER JOIN items i ON oi.item_id = i.item_id
|
||||||
|
-> ORDER BY o.order_id, i.item_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 |
|
||||||
|
| 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 |
|
||||||
|
| 6 | 2018-09-12 20:13:00 | 三浦知一 | ひたすら膨らむガム | 200 | 10 |
|
||||||
|
| 7 | 2018-09-15 21:34:00 | 本田啓介 | 魅惑の椅子 | 100000 | 2 |
|
||||||
|
| 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)
|
||||||
132
【練習問題】 SQL/Question2/Question2.txt
Normal file
132
【練習問題】 SQL/Question2/Question2.txt
Normal 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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0
【練習問題】 SQL/Question3/Question3.txt
Normal file
0
【練習問題】 SQL/Question3/Question3.txt
Normal file
Binary file not shown.
Reference in New Issue
Block a user