SQL

ยท SQL
1. ์›ํ•˜๋Š” ๋‚ ์งœ๋ณ„ ํ˜น์€ ๊ธฐ๊ฐ„๋ณ„๋กœ ์ž๋ฅด๊ธฐ Truncate์˜ ์ถ•์•ฝ ํ‘œํ˜„์ธ trunc๊ฐ€ ๋“ค์–ด๊ฐ„ ํ•จ์ˆ˜์ด๋‹ค. date_trunc ์›๋ž˜ ๋‹จ์–ด ๋œป ๊ทธ๋Œ€๋กœ ๋‚ ์งœ๋ฅผ ์ž˜๋ผ๋‚ธ๋‹ค, ์ ˆ์‚ฌํ•œ๋‹ค. ์ง๊ด€์ ์ด๋‹ค. date_trunc(์ ˆ์‚ฌ ๋‹จ์œ„, ์ ˆ์‚ฌ ๋Œ€์ƒ) ์ ˆ์‚ฌ ๋Œ€์ƒ ์œ„์น˜์— ๋‚ ์งœ ํ˜น์€ ์‹œ๊ฐ„ ๊ฐ’์ด ํ‘œํ˜„๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•„๋“œ๋ช…์„ ์ž…๋ ฅํ•œ๋‹ค. (type timestamp, timestamp with time zone ๋˜๋Š” interval์˜ ๊ฐ’) ํ•ด๋‹น ๋‚ ์งœ๋ฅผ ์–ด๋А ์ •๋„์˜ ์ •๋ฐ€๋„๋กœ ์ชผ๊ฐค ๊ฒƒ์ธ์ง€ ๋‹จ์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค. (๋ฐ˜ํ™˜ ๊ฐ’๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ type timestamp, time zone ๋˜๋Š” interval) date_trunc('year', timestamp) // ์—ฐ๋„๋ณ„ date_trunc('month', timestamp) // ์›”๋ณ„ date_..
ยท 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' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก