NULL AS (cf. 'NULL' AS)

dragonlolyยท2025๋…„ 2์›” 16์ผ
0

SQL

๋ชฉ๋ก ๋ณด๊ธฐ
14/19

NULL AS๋Š” ํ…Œ์ด๋ธ” ๋ณ„์นญ์„ ๋ถ™์ผ ์ˆ˜ ์—†๋Š” ๊ตฌ๋ฌธ์ด๋‹ค.

โœ… ์™œ NULL AS OFS.USER_ID๊ฐ€ ํ‹€๋ ธ์„๊นŒ?

๐Ÿ“Œ ํ•ต์‹ฌ ๊ฐœ๋…:

NULL AS ์ปฌ๋Ÿผ๋ช…์—์„œ๋Š” ์ปฌ๋Ÿผ๋ช…์— ํ…Œ์ด๋ธ” ๋ณ„์นญ(OFS, ONS)์„ ๋ถ™์ผ ์ˆ˜ ์—†์Œ.
UNION์ด ์‹คํ–‰๋˜๊ธฐ ์ „์ด๋ผ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ธฐ๋ณธ์ ์œผ๋กœ AS ๋’ค์—๋Š” ํ…Œ์ด๋ธ” ๋ณ„์นญ์ด ์˜ฌ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ.

SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE

UNION ALL

SELECT SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE

๐Ÿ‘‰ ์˜ฌ๋ฐ”๋ฅธ ์ด์œ :
โœ… NULL AS USER_ID โ†’ USER_ID๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ NULL ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•จ.
โœ… AS ๋’ค์—๋Š” ์ปฌ๋Ÿผ๋ช…๋งŒ ์˜ฌ ์ˆ˜ ์žˆ์Œ, ํ…Œ์ด๋ธ” ๋ณ„์นญ(OFS, ONS)์€ ๋ถ™์ผ ์ˆ˜ ์—†์Œ.

์ž˜๋ชป๋œ ์˜ˆ์ œ

SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE

UNION ALL

SELECT SALES_DATE, PRODUCT_ID, NULL AS OFS.USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE

โŒ NULL AS OFS.USER_ID๊ฐ€ ํ‹€๋ฆฐ ์ด์œ 

NULL AS ์ปฌ๋Ÿผ๋ช…์—์„œ ์ปฌ๋Ÿผ๋ช…์— ํ…Œ์ด๋ธ” ๋ณ„์นญ์„ ๋ถ™์ผ ์ˆ˜ ์—†์Œ.
ํ…Œ์ด๋ธ” ๋ณ„์นญ(OFS, ONS)์€ FROM ์ ˆ์—์„œ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ AS ๋’ค์— ์˜ฌ ์ˆ˜ ์—†์Œ.

UNION ์‹คํ–‰ ์ˆœ์„œ์™€ ๊ด€๊ณ„ ์žˆ์„๊นŒ?

โŒ

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” UNION ์‹คํ–‰ ์ˆœ์„œ ๋•Œ๋ฌธ์ด ์•„๋‹ˆ๋ผ, SQL ๋ฌธ๋ฒ• ์ž์ฒด ๋•Œ๋ฌธ์ด์•ผ.
UNION์€ ๊ฐ SELECT ๋ฌธ์ด ๋ชจ๋‘ ์‹คํ–‰๋œ ํ›„์— ํ•ฉ์ณ์ง€๋Š” ๊ณผ์ •์ด์ง€๋งŒ,
๊ฐ SELECT ์ž์ฒด๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹คํ–‰๋˜์–ด์•ผ UNION์ด ์ ์šฉ๋  ์ˆ˜ ์žˆ์–ด!
์ฆ‰, NULL AS OFS.USER_ID๋Š” ์• ์ดˆ์— SQL ๋ฌธ๋ฒ•์—์„œ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ.

์ •๋ฆฌ

โœ” NULL AS USER_ID โ†’ O
โœ” ์ปฌ๋Ÿผ๋ช… AS ๋ณ„์นญ โ†’ O
โœ” NULL AS OFS.USER_ID โ†’ X (๋ฌธ๋ฒ• ์˜ค๋ฅ˜!)
โœ” ์ปฌ๋Ÿผ๋ช… AS ํ…Œ์ด๋ธ”๋ณ„์นญ.์ปฌ๋Ÿผ๋ช… โ†’ X (SQL ๋ฌธ๋ฒ•์—์„œ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ!)

'NULL' AS USER_ID vs NULL AS USER_ID ์ฐจ์ด์ 

SELECT NULL AS USER_ID;

โœ… ์„ค๋ช…:

USER_ID๋ผ๋Š” ์ปฌ๋Ÿผ ์ด๋ฆ„์„ ๊ฐ€์ง€์ง€๋งŒ, ๊ฐ’์€ NULL.
์ฆ‰, ์ง„์งœ NULL ๊ฐ’์„ ๋„ฃ์Œ.
๋ฐ์ดํ„ฐ ํƒ€์ž…์ด USER_ID ์ปฌ๋Ÿผ๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ.
โœ… ๊ฒฐ๊ณผ (์ถœ๋ ฅ ํ™”๋ฉด ์˜ˆ์‹œ)

'NULL' AS USER_ID (๐Ÿšจ ๋ฌธ์ž์—ด 'NULL')

โŒ ์„ค๋ช…:

'NULL'(์ž‘์€๋”ฐ์˜ดํ‘œ ํฌํ•จ)์€ ๋ฌธ์ž์—ด(String) ๊ฐ’์ž„.
์ง„์งœ NULL์ด ์•„๋‹ˆ๋ผ, ๊ทธ๋ƒฅ 'NULL'์ด๋ผ๋Š” ํ…์ŠคํŠธ.
'123', 'Hello' ๊ฐ™์€ ๋ฌธ์ž์—ด๊ณผ ๊ฐ™์Œ.

๐Ÿ“Œ ์ •๋ฆฌ
NULL AS USER_ID โ†’ ์ง„์งœ NULL ๊ฐ’ (๊ฐ’์ด ์—†์Œ)
'NULL' AS USER_ID โ†’ 'NULL'์ด๋ผ๋Š” ๋ฌธ์ž์—ด (๊ฐ’์ด ์žˆ์Œ)
โœ… ๊ทธ๋ž˜์„œ USER_ID ์ปฌ๋Ÿผ์ด ์ˆซ์ž๋‚˜ ์™ธ๋ž˜ํ‚ค ๊ฐ™์€ ๊ฐ’์ด๋ฉด NULL AS USER_ID๊ฐ€ ๋งž๊ณ ,
โœ… ๋ฌธ์ž๋กœ ๋ณด์—ฌ์ฃผ๋ ค๋ฉด 'NULL' AS USER_ID๋ฅผ ์จ์•ผ ํ•ด!

profile
IT๊ธฐ์—…์—์„œ ์šด์˜ ๊ธฐํš ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค : )

0๊ฐœ์˜ ๋Œ“๊ธ€