Files
question_db/Question2/MySQL SQL問題集 part2.sql
2026-10-27 16:48:22 +09:00

80 lines
1.4 KiB
SQL

--問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 AUTO_INCREMENT PRIMARY KEY,
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)
VALUES('ローマのテーブル',150000,1),('げーたるーど2000 500ml',370,2),('原始肉',2500,3),('魅惑の椅子',100000,1);
--問3
SELECT
a.item_id,
a.name,
a.price,
b.category_id,
b.category_name
FROM items a
INNER JOIN item_category b
ON a.category_id = b.category_id;
--問4
SELECT *
FROM items
ORDER BY price;
--問5
SELECT
a.item_id,
a.name,
a.price,
b.category_id,
b.category_name
FROM items a
INNER JOIN item_category b
ON a.category_id = b.category_id AND b.category_name = '家具';
--問6
SELECT
a.item_id,
a.name,
a.price,
b.category_id,
b.category_name
FROM items a
INNER JOIN item_category b
ON a.category_id = b.category_id AND a.price <= 50000 AND a.price >= 1000;
--問7
SELECT COUNT(*) AS data_count
FROM items;
--問8
SELECT * FROM items
WHERE price = (SELECT MAX(price) FROM items);
--問9
SELECT
a.item_id,
a.name,
a.price,
b.category_id,
b.category_name
FROM items a
INNER JOIN item_category b
ON a.category_id = b.category_id
WHERE a.name LIKE'%の%';