728x90
๋ฐ˜์‘ํ˜•

2024/07/07 2

Clean Code TIL, 10์žฅ ํด๋ž˜์Šค

์˜ค๋Š˜ TIL 3์ค„ ์š”์•ฝํด๋ž˜์Šค๋Š” ์ž‘์•„์•ผ ํ•œ๋‹ค!ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ์„ ๋ณ€๊ฒฝํ•  ์ด์œ ๋Š” ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค.๊นจ๋—ํ•œ ์‹œ์Šคํ…œ์€ ํด๋ž˜์Šค๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•ด ๋ณ€๊ฒฝ์— ์ˆ˜๋ฐ˜ํ•˜๋Š” ์œ„ํ—˜์„ ๋‚ฎ์ถ˜๋‹ค. TIL (Today I Learned) ๋‚ ์งœ 2024.07.07์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„10์žฅ. ํด๋ž˜์Šค์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์จ๋ณด์„ธ์š”.ํด๋ž˜์Šค ์ฒด๊ณ„ - ๋ณ€์ˆ˜๋ชฉ๋ก( ์ •์  ๊ณต๊ฐœ ์ƒ์ˆ˜ -> ์ •์  ๋น„๊ณต๊ฐœ ๋ณ€์ˆ˜ ->  ๋น„๊ณต๊ฐœ ์ธ์Šคํ„ด์ˆ˜ ๋ณ€์ˆ˜)  => ํ•จ์ˆ˜(๊ณต๊ฐœํ•จ์ˆ˜ -> ๋น„๊ณต๊ฐœํ•จ์ˆ˜)์บก์Šํ™”๋ฅผ ํ’€์–ด์ฃผ๋Š” ๊ฒฐ์ •์€ ์–ธ์ œ๋‚˜ ์ตœํ›„์˜ ์ˆ˜๋‹จ์ด๋‹ค.ํด๋ž˜์Šค ์ด๋ฆ„์€ ํ•ด๋‹น ํด๋ž˜์Šค ์ฑ…์ž„์„ ๊ธฐ์ˆ ํ•ด์•ผํ•œ๋‹ค.ํฐ ํด๋ž˜์Šค ๋ช‡ ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์€ ํด๋ž˜์Šค ์—ฌ๋Ÿฟ์œผ๋กœ ์ด๋ค„์ง„ ์‹œ์Šคํ…œ์ด ๋” ๋ฐ”๋žŒ์งํ•˜๋‹ค.์ž‘์€ํด๋ž˜์Šค๋Š” ๊ฐ์ž ๋งก์€ ์ฑ…์ž„์ด ํ•˜๋‚˜๋ฉฐ, ๋ณ€๊ฒฝํ•  ์ด์œ ๊ฐ€ ํ•˜๋‚˜๋ฉฐ, ๋‹ค๋ฅธ ์ž‘์€ ํด๋ž˜์Šค์™€ ํ˜‘๋ ฅํ•ด์„œ ์‹œ์Šคํ…œ์— ํ•„์š”ํ•œ ๋™์ž‘์„..

[DB][SQL] GROUP BY ์ ˆ์— CASE๋ฌธ์„ Alias๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ์˜ ๋Œ€์•ˆ

Subquery๋ฅผ ์‚ฌ์šฉํ•œ ๋Œ€์•ˆ ๋ฐฉ๋ฒ•๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ„์นญ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.SELECT age_group, COUNT(*) AS countFROM ( SELECT CASE WHEN age ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด CASE ๋ฌธ์„ ์„œ๋ธŒ์ฟผ๋ฆฌ ๋‚ด์—์„œ ํ•œ ๋ฒˆ๋งŒ ์ž‘์„ฑํ•˜๊ณ ,๋ฉ”์ธ ์ฟผ๋ฆฌ์˜ GROUP BY ์ ˆ์—์„œ ๋ณ„์นญ age_group์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

DB 2024.07.07
728x90
๋ฐ˜์‘ํ˜•