MySQL

MySQL) Instargram (3) : ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ ๋งŒ๋“ค๊ธฐ

567Rabbit 2024. 5. 20. 09:53

 

1) ์ฐพ์•„์•ผ ํ•  ๋ฐ์ดํ„ฐ : ์ด๋ฏธ์ง€ ์ฃผ์†Œ, ์ž‘์„ฑ์ž ์ด๋ฆ„, ์ข‹์•„์š” ์ˆ˜, ํƒœ๊ทธ ์ด๋ฆ„๋“ค

 

(์˜ˆ์‹œ ์‚ฌ์ง„ ์ž…๋‹ˆ๋‹ค)

 

 

-- ํŠน์ • ํฌ์ŠคํŒ…, photos์˜ id๊ฐ€ 72๋ฒˆ์ด๋ผ๋ฉด ์ด๋ฏธ์ง€ ์ฃผ์†Œ, ์ž‘์„ฑ์ž ์ด๋ฆ„, ์ข‹์•„์š” ์ˆ˜

select p.id, p.image_url, username , count(l.photo_id) as like_count
from photos p
join users u
on p.user_id = u.id
join likes l
on p.id = l.photo_id
where p.id = 72;

 


-- ํŠน์ • ํฌ์ŠคํŒ…, photos์˜ id๊ฐ€ 72๋ฒˆ ์ด๋ผ๋ฉด ๊ทธ์— ๋Œ€ํ•œ ํƒœ๊ทธ๋“ค

select photo_id, tag_name
from photos p
join photo_tags pt
on p.id = pt.photo_id
join tags t
on pt.tag_id = t.id
where p.id = 72;

 

 

 

2) ์ฐพ์•„์•ผ ํ•  ๋ฐ์ดํ„ฐ : ๋Œ“๊ธ€(์ฝ”๋ฉ˜ํŠธ)

 

(์˜ˆ์‹œ ์‚ฌ์ง„ ์ž…๋‹ˆ๋‹ค)

 

-- ํŠน์ • ํฌ์ŠคํŒ…, photos์˜ id๊ฐ€ 72๋ฒˆ์ด๋ผ๋ฉด ๊ทธ์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ(๋Œ“๊ธ€)

select photo_id, comment_text
from photos p
join comments c
on p.id = c.photo_id
where p.id = 72;