๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
SQL/Programmers

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

by ์ด๋ฎด 2023. 7. 2.
728x90

๐Ÿ’ป ๋ฌธ์ œ ์ฃผ์†Œ : https://school.programmers.co.kr/learn/courses/30/lessons/131120

 

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

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

programmers.co.kr

 

๐Ÿ’ป ๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์‹๋‹น ๋ฆฌ๋ทฐ ์‚ฌ์ดํŠธ์˜ ํšŒ์› ์ •๋ณด๋ฅผ ๋‹ด์€ 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๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 

๐Ÿ’ป ์ฝ”๋“œ ๋ฐ ํ’€์ด

select MEMBER_ID, MEMBER_NAME, GENDER, date_format(date_of_birth, '%Y-%m-%d') as DATE_OF_BIRTH
from member_profile
where month(date_of_birth) = 3 -- ์ƒ์ผ์ด 3์›”์ธ ํšŒ์›
	and gender = 'W' -- ๊ทธ๋ฆฌ๊ณ  ์„ฑ๋ณ„์ด ์—ฌ์„ฑ์ธ ํšŒ์›
	and tlno is not null -- ๊ทธ๋ฆฌ๊ณ  ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ null์ด ์•„๋‹Œ ํšŒ์›
order by member_id

 

์œ„ ์ฝ”๋“œ ์ค‘ month() ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง„ ๊ฐ’ ์ค‘ month์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์„ ๋ฆฌํ„ดํ•œ๋‹ค. ๋”ฐ๋ผ์„œ month()๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋ฉด ๊ทธ ์™ธ์—๋Š” ๋ณ„ ์–ด๋ ค์›€์ด ์—†๋Š” ๋ฌธ์ œ์ด๋‹ค.

728x90
๋ฐ˜์‘ํ˜•