๋ชฉ๋กData๐Ÿ“Š/DB ์ดํ•ด (15)

EEALL@ONCE

๐Ÿ“Š SUM ๊ฐ’ ์‚ฌ์ด์— null ์ด ํฌํ•จ๋  ๋•Œ

`SUM` ํ•จ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ์—ด์˜ ๊ฐ’๋“ค์„ ๋”ํ•˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ, `NULL` ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ `SUM` ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ `NULL` ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด๋„ ๋ฌธ์ œ์—†์ด ๋ง์…ˆ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด `SUM` ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค: ์ด ํ…Œ์ด๋ธ”์—์„œ `amount` ์—ด์˜ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค: `NULL` ๊ฐ’์€ ๋ฌด์‹œ๋˜๊ณ  ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค๋งŒ ํ•ฉ์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ์ ์œผ๋กœ `amount` ์—ด์˜ ํ•ฉ๊ณ„๋Š” 300์ด ๋ฉ๋‹ˆ๋‹ค. `SUM` ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ง‘๊ณ„ ํ•จ์ˆ˜ ์ค‘ ํ•˜๋‚˜๋กœ, ์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋”ฐ๋ผ ํŠน์ • ์—ด์˜ ๊ฐ’์„ ํ•ฉ์‚ฐํ•˜๋Š” ๋ฐ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ `NULL` ๊ฐ’์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Š CONCAT

CONCAT์€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. SQL์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์—ฌ๋Ÿฌ DBMS์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค. SELECT CONCAT('Hello', ' ', 'World'); Result : Hello World ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ CONCAT ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋งŽ์€ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฌธ์ž์—ด์˜ ํฌ๊ธฐ๊ฐ€ ํฐ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SIDE EFFECT: CONCAT์€ NULL ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด๊ณผ ์—ฐ๊ฒฐํ•  ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋ฅผ NULL๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, CONCAT(NULL, 'test')๋Š” NULL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ์ด..