๐Ÿ—๏ธPROGRAMMERS/SQL

[SQL]12์„ธ ์ดํ•˜์ธ ์—ฌ์ž ํ™˜์ž ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ

๋น™๋””์šฉ 2024. 4. 19.

์‹œ์šฉ์–ธ์–ด : MYSQL

LEVEL : 1

๋ฌธ์ œ : 12์„ธ ์ดํ•˜์ธ ์—ฌ์ž ํ™˜์ž ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๋ฌธ์ œํ’€์ด

SELECT PT_NAME, PT_NO, GEND_CD, AGE, COALESCE(TLNO, 'NONE') AS TLNO 
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;

- ๋ฌธ์ œ์—์„œ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ NONE์„ ์ถœ๋ ฅํ•˜๋ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, COALESCE(TLNO, 'NONE')๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

- 12์„ธ ์ดํ•˜ ์„ฑ๋ณ„์ด ์—ฌ์ž๋งŒ์„ ์ถœ๋ ฅํ•˜๋ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด์— ๋งž์ถฐ WHERE์ ˆ์„ ์ž‘์„ฑํ–ˆ๋‹ค.

- 1์ฐจ์ ์œผ๋กœ ๋‚˜์ด์— ๋”ฐ๋ผ ๋‚ด๋ฆผ์ฐจ์ˆœ, ๋‚˜์ด๊ฐ€ ๊ฐ™์„๋•Œ์—๋Š” ์ด๋ฆ„์— ๋”ฐ๋ผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ORDER BY์ ˆ์„ ์กฐ๊ฑด์— ๋งž์ถฐ ์ž‘์„ฑํ–ˆ๋‹ค.

 ํ›„๊ธฐ

- PT_NAME์ด ๋งจ ์•ž์ธ์ง€ ๋ชจ๋ฅด๊ณ  PT_NO๋ฅผ ๋จผ์ € ์ถœ๋ ฅํ•˜๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ์ž˜๋ชป๋œ ์ค„ ์•Œ์•˜๋‹ค.

- ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ์ž

๋Œ“๊ธ€