Growth ๐ŸŒณ/Practice ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 3์›”์— ํƒœ์–ด๋‚œ ์—ฌ์„ฑ ํšŒ์› ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ

์ธ” 2022. 12. 9. 00:51

๐Ÿ“ข ๋ณธ ํฌ์ŠคํŒ…์— ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ฐ ์ž๋ฃŒ ์ถœ์ฒ˜๋Š”

       ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต,   
      https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle
์ž„์„ ๋ฐํž™๋‹ˆ๋‹ค.

 


โ–  ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์‹๋‹น ๋ฆฌ๋ทฐ ์‚ฌ์ดํŠธ์˜ ํšŒ์› ์ •๋ณด๋ฅผ ๋‹ด์€ MEMBER_PROFILE ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. MEMBER_PROFILE ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH๋Š” ํšŒ์› ID, ํšŒ์› ์ด๋ฆ„, ํšŒ์› ์—ฐ๋ฝ์ฒ˜, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Column name Type Nullable
MEMBER_ID VARCHAR(100) FALSE
MEMBER_NAME VARCHAR(50) FALSE
TLNO VARCHAR(50) TRUE
GENDER VARCHAR(1) TRUE
DATE_OF_BIRTH DATE TRUE

 

๋ฌธ์ œ

MEMBER_PROFILE ํ…Œ์ด๋ธ”์—์„œ ์ƒ์ผ์ด 3์›”์ธ ์—ฌ์„ฑ ํšŒ์›์˜ ID, ์ด๋ฆ„, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ NULL์ธ ๊ฒฝ์šฐ๋Š” ์ถœ๋ ฅ๋Œ€์ƒ์—์„œ ์ œ์™ธ์‹œ์ผœ ์ฃผ์‹œ๊ณ , ๊ฒฐ๊ณผ๋Š” ํšŒ์›ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 


โ–  ํ’€์ด

  ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ  

์ƒ์ผ์ด 3์›”์ธ ์—ฌ์„ฑ ํšŒ์›์˜                                        > ์กฐ๊ฑด1 (DATE_FORMAT() ํ•จ์ˆ˜ ์‚ฌ์šฉ) 

ID, ์ด๋ฆ„, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์กฐํšŒ   

์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ NULL์ธ ๊ฒฝ์šฐ๋Š” ์ถœ๋ ฅ๋Œ€์ƒ์—์„œ ์ œ์™ธ  > ์กฐ๊ฑด2 (is null, is not null ํ™œ์šฉ)

๊ฒฐ๊ณผ๋Š” ํšŒ์›ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ              > ์ •๋ ฌ์กฐ๊ฑด1

 

SELECT MEMBER_ID,
MEMBER_NAME,
GENDER,
DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') DATE_OF_BIRTH
 FROM MEMBER_PROFILE
 WHERE DATE_FORMAT(DATE_OF_BIRTH, '%m') = 03
 AND TLNO IS NOT NULL
 AND GENDER = 'W'
 ORDER BY MEMBER_ID;

WHERE ์กฐ๊ฑด์ ˆ์˜ DATE_FORMAT() ์€ ํฌ๋งท ํ˜•ํƒœ๋ฅผ

DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') LIKE '%-03-%' ๊ณผ ๊ฐ™์ด

LIKE๋ฅผ ํ™œ์šฉํ•ด๋„ ์ •๋‹ต์ด ์ธ์ •๋˜์—ˆ๋‹ค.

* DATE_FORMAT() ํ˜•ํƒœ์— ์กฐ๊ฑด์— ๋ฌธ๋ฒ• ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ ๊ฐ€๋Šฅ.