SQL์ฟผ๋ฆฌ

ยท SQL
* velog์—์„œ ํฌ์ŠคํŒ…ํ–ˆ๋˜ ๊ธ€์„ ์˜ฎ๊ฒจ์™”์Šต๋‹ˆ๋‹ค. ์œ ์ €๋ณ„๋กœ ๊ตฌ๋งคํ•œ ์ƒํ’ˆ๊ณผ ๊ฐ€๊ฒฉ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ” orders๊ฐ€ ์žˆ๋‹ค ๋จผ์ €, ์œ ์ €๋ณ„๋กœ ๊ตฌ๋งค์•ก์˜ ํ•ฉ์‚ฐ์„ ๊ตฌํ•˜๋ ค๋ฉด? select์™€ from์ ˆ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค. FROM ์ฃผ๋ฌธ ๋‚ด์—ญ ์ค‘์—์„œ(orders) SELECT GROUP BY ๊ณ ๊ฐ ๋ณ„๋กœ(id) ๊ตฌ๋งค์•ก์˜ ํ•ฉ์‚ฐ(sum price)์„ ๋ณด์—ฌ์ค˜ SQL ์ฟผ๋ฆฌ๋ฌธ select id, sum(price) from orders group by id ์กฐํšŒ ๊ฒฐ๊ณผ ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘๋‹ค ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ๋‹จ์ˆœํ•˜๊ฒŒ ์ „์ฒด ๋ฆฌ์ŠคํŠธ๋ณด๋‹ค๋Š”, ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ์กฐ๊ฑด์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋” ๋งŽ๋‹ค. ๊ทธ๋Ÿด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด having ์ ˆ๊ณผ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ์ธ where ์ ˆ์ด๋‹ค. HAVING ์ ˆ๊ณผ WHERE ์ ˆ์˜ ์ฐจ์ด ์ด ๋‘ ๊ฐœ๋Š” ๊ฐ๊ฐ์˜ ๋ชฉ์ ์ด ๋‹ค๋ฅด๋‹ค...
ยท SQL
* velog์—์„œ ํฌ์ŠคํŒ…ํ–ˆ๋˜ ๊ธ€์„ ์˜ฎ๊ฒจ์™”์Šต๋‹ˆ๋‹ค. ์ธ์Šคํƒ€๊ทธ๋žจ์˜ 2๊ฐœ ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ํ•˜๋‚˜๋Š” ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ์œ ์ € ์ •๋ณด(users)๋ฅผ ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ฐ ์œ ์ €๊ฐ€ ์ƒ์„ฑํ•œ ํฌ์ŠคํŠธ์˜ ์ •๋ณด(posts)๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. dots ์ด ์‚ฌ๋žŒ์€ ์ธ์Šคํƒ€๊ทธ๋žจ ์ค‘๋…์ธ ๋“ฏ... ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด users ํ…Œ์ด๋ธ”๋„ ๊ฐ™์ด ์ค€๋น„ํ–ˆ์œผ๋‚˜, ์•„๋ž˜ ์˜ˆ์‹œ๋ถ€ํ„ฐ๋Š” 2๊ฐœ ํ…Œ์ด๋ธ” ๊ฐ„ Join์„ ์ƒ๋žตํ•˜๊ณ  posts ํ…Œ์ด๋ธ”๋งŒ์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค. Q1. ์œ ์ €๋ณ„๋กœ ์Šคํ† ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธ ํ•˜์„ธ์š” ๊ฐ„๋‹จํ•˜๋‹ค. ์Šคํ† ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋ ค๋ฉด ์Šคํ† ๋ฆฌ ๊ฐ’์ด contents ํ•„๋“œ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” posts ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์ ธ์™€์•ผํ•œ๋‹ค. FROM ํ•ด๋‹น posts ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ WHERE contents ๊ฐ’์ด ์Šคํ† ๋ฆฌ๋ผ๋Š” ์กฐ๊ฑด์„ ๊ฑธ๊ณ  SELECT ๊ทธ์— ๋งž๋Š” ํฌ์ŠคํŠธ๋งŒ countํ•ด์„œ ..
๋‹ท์ธ 
'SQL์ฟผ๋ฆฌ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก