0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

paiza.ioでmysql その13

Posted at

概要

paiza.ioでmysqlやってみた。
練習問題やってみた。

練習問題

JOINを使え。

サンプルコード



CREATE TABLE `purchase` (
  `date` DATE NOT NULL,
  `product` VARCHAR(255) NOT NULL,
  `price` INT NOT NULL,
  `cs_id` VARCHAR(10) NOT NULL
);

CREATE TABLE `customer` (
  `id` VARCHAR(10) PRIMARY KEY,
  `name` VARCHAR(50) NOT NULL,
  `age` INT NOT NULL,
  `sex` VARCHAR(10) NOT NULL
);

INSERT INTO purchase (`date`, `product`, `price`, `cs_id`) VALUES
  ('2024-04-01', '雑誌', 100, 'c0001'),
  ('2024-04-01', '文庫本', 200, 'c0001'),
  ('2024-04-02', '雑誌', 100, 'c0002'),
  ('2024-04-03', 'マンガ', 300, 'c0002'),
  ('2024-04-03', '文庫本', 200, 'c0003');
  

INSERT INTO `customer` (`id`, `name`, `age`, `sex`)
VALUES
  ('c0001', 'Bob', 26, 'male'),
  ('c0002', 'Jany', 32, 'female'),
  ('c0003', 'Anna', 24, 'female');
  
SELECT * FROM purchase;
SELECT * FROM customer;


SELECT product, COUNT(price) AS count_sales FROM purchase GROUP BY product;
SELECT product, AVG(price) AS avg_sales FROM purchase GROUP BY product;
SELECT product, MAX(price) AS max_sales FROM purchase GROUP BY product;
SELECT product, MIN(price) AS min_sales FROM purchase GROUP BY product;



INSERT INTO purchase (`date`, `product`, `price`, `cs_id`) 
VALUES
  ('2024-04-04', '参考書', 150, 'c0004');
  

INSERT INTO `customer` (`id`, `name`, `age`, `sex`)
VALUES
  ('c0005', 'Wein', 35, 'male');
  
  
  
SELECT date, product, name FROM purchase LEFT JOIN customer ON cs_id = id;
SELECT date, product, name FROM purchase RIGHT JOIN customer ON cs_id = id;
SELECT date, product, name FROM purchase INNER JOIN customer ON cs_id = id;




実行結果

date	product	price	cs_id
2024-04-01	雑誌	100	c0001
2024-04-01	文庫本	200	c0001
2024-04-02	雑誌	100	c0002
2024-04-03	マンガ	300	c0002
2024-04-03	文庫本	200	c0003
id	name	age	sex
c0001	Bob	26	male
c0002	Jany	32	female
c0003	Anna	24	female
product	count_sales
雑誌	2
文庫本	2
マンガ	1
product	avg_sales
雑誌	100.0000
文庫本	200.0000
マンガ	300.0000
product	max_sales
雑誌	100
文庫本	200
マンガ	300
product	min_sales
雑誌	100
文庫本	200
マンガ	300
date	product	name
2024-04-01	雑誌	Bob
2024-04-01	文庫本	Bob
2024-04-02	雑誌	Jany
2024-04-03	マンガ	Jany
2024-04-03	文庫本	Anna
2024-04-04	参考書	NULL
date	product	name
2024-04-01	文庫本	Bob
2024-04-01	雑誌	Bob
2024-04-03	マンガ	Jany
2024-04-02	雑誌	Jany
2024-04-03	文庫本	Anna
NULL	NULL	Wein
date	product	name
2024-04-01	雑誌	Bob
2024-04-01	文庫本	Bob
2024-04-02	雑誌	Jany
2024-04-03	マンガ	Jany
2024-04-03	文庫本	Anna

成果物

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?