MySQL

MySQL) 3๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ” ์กฐ์ธํ•˜๊ธฐ

567Rabbit 2024. 5. 16. 17:43

 

๋จผ์ € ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค

 

https://codebunny99.tistory.com/74

 

MySQL) ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ” ์กฐ์ธํ•˜๊ธฐ

์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ ์™ธ๋ž˜ํ‚ค(foreign key) ์„ค์ •ํ•˜๊ธฐ   decimal(8,2)๋Š” ์†Œ์ˆซ์ ์„ ํ•ฉ์ณ์„œ 8์ž๋ฆฌ, ์†Œ์ˆซ์  ์•„๋ž˜ 2์ž๋ฆฌ๊ฐ€ ํ‘œํ˜„๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.  ***********  ์™ธ๋ž˜ํ‚ค์— UN(unsigned data type)์„ ์ฒดํฌํ•ด์•ผ ํ•˜๋Š” ์ด์œ  cu

codebunny99.tistory.com

 

 

 

 

 

 

 

Reviews์— ์™ธ๋ž˜ํ‚ค ์„ค์ •

 

 

 

 

 

 

 

3๊ฐœ ํ…Œ์ด๋ธ” ์กฐ์ธํ•˜๊ธฐ

 

- ๋ฆฌ๋ทฐ์˜ ์ œ๋ชฉ๊ณผ ๋ณ„์  -

select s.title, r.rating, concat(er.first_name,' ', er.last_name) as reviewer
from Reviews r
join Series s
   on r.series_id=s.id
join Reviewers er
   on r.reviewer_id = er.id
order by title ;

 

 

 

from์— ์—ฐ๊ฒฐ์ ์ธ Reviews๊ฐ€ ๋ฐ˜๋“œ์‹œ ์˜ค์ง€ ์•Š๋”๋ผ๋„ ์—ฌ๋Ÿฌ๊ฐœ์˜ join์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

select s.title, r.rating, concat(er.first_name,' ', er.last_name) as reviewer
from Series s
join Reviews r
on s.id = r.series_id
join Reviewers er
on r.reviewer_id = er.id
order by title ;

 

 

 

์‘์šฉํ•˜๊ธฐ

 

-- ๋ฆฌ๋ทฐ๋ฅผ ํ•œ๋ฒˆ๋„ ๋‚จ๊ธฐ์ง€ ์•Š์•˜์œผ๋ฉด, inactive

 

 

 

select er.first_name, er.last_name, count(r.id) as COUNT, ifnull(min(r.rating),0) as MIN,
        ifnull(max(r.rating),0) as MAX, ifnull(avg(r.rating),0) as AVG,
        if(isnull(r.id)=True,'INACTIVE','ACTIVE') as STATUS
from Reviewers er
left join Reviews r
   on er.id= r.reviewer_id
group by er.id ;