[ ๐Ÿ’ก์‹ค๋ฌด ๊ฟ€Tip!๐Ÿ’ก : SQL ์ž…๋ฌธ์ž์—๊ฒŒ ์ถ”์ฒœํ•˜๋Š” ์•Œ์•„๋‘๋ฉด ์ข‹์€ ์ฟผ๋ฆฌ Best 3] ์‹ค์ œ๋กœ ํšŒ์‚ฌ์—์„œ SQL์„ ๊ฐ€๋ฅด์ณ๋‹ฌ๋ผ๋Š” ๋ถ„๋“ค์ด ๊ฝค ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒด๊ณ„์ ์ด๊ธฐ๋ณด๋‹ค ์˜จ๋ชธ์œผ๋กœ ๊ตด๋Ÿฌ์„œ ๋ฐฐ์šด ์‚ฌ๋žŒ์ด์–ด์„œ (๋Œ€๋žต ์‹ค์ˆ˜๋ฅผ ๋‹ค ์˜จ๋ชธ์œผ๋กœ ๋ถ€๋”ช์ณ์„œ ๋ฐฐ์› ๋‹ค๋Š” ์–˜๊ธฐ) ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๊ฐ€๋ฅด์น  ์—„๋‘๊ฐ€ ๋„์ €ํžˆ ๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ SQL์„ ์‹ค๋ฌด์ ์œผ๋กœ ํ™œ์šฉํ•œ์ง€ ์–ผ์ถ” 3-4๋…„์ฐจ๊ฐ€ ๋˜์–ด๋ณด๋‹ˆ, ์ด ๊ธฐ๋Šฅ์€ ์ตํ˜€๋‘๋ฉด ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์‹ค์ œ๋กœ ๋„์›€์ด ๋งŽ์ด ๋œ๋‹ค ์‹ถ์€ ์ฟผ๋ฆฌ๋Š” ์žˆ๋‹ค๊ณ  ๋А๋‚๋‹ˆ๋‹ค. ๋งˆ์นจ ์ž˜ ์ •๋ฆฌ๋œ ๊ธ€์ด ์žˆ๊ธธ๋ž˜ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. 1๏ธโƒฃCoalesce (ํ…Œ์ด๋ธ” ํ•ฉ์น˜๊ธฐ) : JOIN - ON โœ… ํšŒ์‚ฌ DB๋ฅผ ๋ณด๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์š”. ์˜ˆ๋ฅผ ๋“ค๋ฉด ํšŒ์›์— ๋Œ€ํ•œ ๊ฐœ์ธ ์ •๋ณด (์„ฑ๋ณ„, ๊ฐ€์ž…์‹œ๊ธฐ, ๊ฐ€์ž…ํ•œ ๋ฃจํŠธ)์™€ '๊ตฌ๋งค ๋ฐ์ดํ„ฐ'๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ชฉ์ ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์— ์ €์žฅ์ด ๋ฉ๋‹ˆ๋‹ค. ์•„๋งˆ ์—‘์…€๋กœ ๊ฐ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„ 'ํšŒ์›id' ๊ธฐ์ค€์œผ๋กœ V lookup ๋“ฑ์„ ์“ฐ์…จ์„ ํ…๋ฐ์š” ์• ์ดˆ์— ๋‘ ํ…Œ์ด๋ธ”์„ ํ•ฉ์ณ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! โœ… ๋Œ€ํ‘œ์ ์ธ ์ฟผ๋ฆฌ๊ฐ€ 'JOIN' ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ JOINํ•˜๋ƒ์— ๋”ฐ๋ผ LEFT JOIN, RIGHT JOIN ๋“ฑ ์‘์šฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ„ฐ๋”” ํ•ด๋ณด์‹œ๊ธธ ๋ฐ”๋ž˜์š”! 2๏ธโƒฃ์กฐ๊ฑด๋ฌธ : CASE WHEN โœ… ์—‘์…€๋กœ ํ•„ํ„ฐ๋ง ํ•˜๋˜ ์‹œ์ ˆ์€ ์ด์ œ ๊ตฟ๋ฐ”์ด ํ•˜์‹œ๊ธธ. 'Case When' ์žˆ๋‹ค๋ฉด, ์• ์ดˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ํ•„ํ„ฐ๋ง ํ•˜์—ฌ ๋ฐ๋ ค ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœ… ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์œผ๋กœ ๋“ค๊ณ ์˜ค๋ฉด ์‹œ๊ฐ„๋„ ๋งŽ์ด ๊ฑธ๋ฆฌ๊ณ  ์—‘์…€ ์ž์ฒด ์ž‘์—… ์‹œ๊ฐ„๋„ ๊ฝค ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. Case When์œผ๋กœ ์ž‘์—…ํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜๋ฅผ ์ค„์ด๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ํšจ์œจ์ ์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ’จ 3๏ธโƒฃํ–‰๋ณ„ ์ˆœ์œ„๋งค๊ธฐ๊ธฐ : ROW_NUMBER () OVER (PARTITION BY a ORDER BY b) โœ… ์š”๊ฑด ์‚ฌ์•Œ์ง ์‘์šฉ ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด CRM ์˜์—ญ์—์„œ๋Š” ๊ณ ๊ฐ์„ ์—ฌ๋Ÿฌ ๊ธฐ์ค€์œผ๋กœ ๋ถ„์„์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์š”์†Œ๋ณ„๋กœ ์ƒ์œ„ ๋ช‡ %์ธ์ง€ ๊ฐ๊ฐ ๋”ฐ์ ธ๋ณผ ๋•Œ, ์•„์ฃผ ์œ ์šฉํ•˜์ฃ . ๊ณ ๊ฐ ์ถฉ์„ฑ๋„๋ฅผ ๋”ฐ์งˆ ๋•Œ 1) ์–ผ๋งˆ๋‚˜ ์ตœ๊ทผ์— ๊ตฌ๋งคํ–ˆ๋‚˜ 2) ๋ˆ„์  ๊ตฌ๋งค ๊ธˆ์•ก์ด ์–ผ๋งˆ์ธ๊ฐ€ ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋ณธ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ฃ . ๊ฐ™์€ ์œ ์ €์— ๋Œ€ํ•ด ๋‘ ์š”์†Œ๋Š” ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ์š”์†Œ๋ณ„ ์ˆœ์„œ๋Š” ๋‹ค๋ฅผ ๊ฑฐ์—์š”. ์ด ๋•Œ, ์ด ์ฟผ๋ฆฌ๊ฐ€ ์•„์ฃผ ๋„์›€์ด ๋  ๊ฒ๋‹ˆ๋‹ค. โœ… ์˜ˆ๋ฅผ ๋“ค์–ด ROW_NUMBER () OVER (PARTION BY user_id ORDER BY last_purchase_date DESC) ๋กœ ๋‘”๋‹ค๋ฉด, ๋งˆ์ง€๋ง‰ ๊ตฌ๋งค์ผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ์ตœ์‹ ์— ๊ตฌ๋งคํ•œ ์œ ์ € ์ˆœ์„œ๋Œ€๋กœ ์ˆœ์œ„๊ฐ€ ์žกํž ๊ฑฐ์—์š”!์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ loyalty๊ฐ€ ๋†’์€ ์œ ์ €์— ๋Œ€ํ•ด ๋ถ„์„์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๊ทธ ์™ธ์—๋„ ๋‹น์—ฐํžˆ ์‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์ด ๋งค์šฐ ๋งŽ๊ฒ ์ฃ ? (๊ทธ๋™์•ˆ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ด€๋ จํ•ด์„œ ๊ณ ๋ฏผํ•ด์˜ค๋˜ ํฌ์ธํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์•„๋งˆ ๋ฌด๋ฆŽ์„ ํƒ ์น˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์ผ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค!!) ์–ด๋–ค ํˆด์ด๋“  ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š”๊ฒŒ ๋ฒ ์ŠคํŠธ์ฃ . SQL์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€๋ฐ ์‹œ์ž‘์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ์ € ๊ธฐ๋Šฅ๋งŒ ์šฐ์„ ์ ์œผ๋กœ ์ตํžŒ ํ›„, ์ง์ ‘ ์ฟผ๋ฆฌ๋ฅผ ๋ฝ‘์•„๋ณด์„ธ์š”! ์•„๋งˆ ๊ฝค ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ ๊ฑฐ์—์š”!! ๐Ÿ’ช๐Ÿ’ช๐Ÿ’ช

3 Must-Know SQL Functions For Efficient Data Analysis

Medium

3 Must-Know SQL Functions For Efficient Data Analysis

2021๋…„ 6์›” 11์ผ ์˜ค์ „ 6:11

ย โ€ขย 

์ €์žฅ 46 โ€ข ์กฐํšŒ 3,017

๋Œ“๊ธ€ 0