[프로그래머스 : MYSQL] SELECT

안녕하세요 연하입니다. 

오늘은 MYSQL 쿼리 문제를 풀어보겠습니다.

 

1. 과일로 만든 아이스크림 고르기 

SELECT a.FLAVOR FROM FIRST_HALF as a, ICECREAM_INFO as b 
WHERE a.TOTAL_ORDER > 3000 and b.INGREDIENT_TYPE = 'fruit_based' and a.FLAVOR = b.FLAVOR 
ORDER BY a.TOTAL_ORDER DESC;

2. 12세 이하인 여자 환자 목록 출력하기

SELECT a.PT_NAME ,a.PT_NO,a.GEND_CD,a.AGE, IFNULL(a.TLNO,'NONE')AS TLNO FROM PATIENT as a 
WHERE AGE <= 12 and GEND_CD = 'W' ORDER BY AGE DESC,PT_NAME;

#a로 이름을 간단하게 해줄 필요는 없음. 
#SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, "NONE") AS TLNO FROM PATIENT 

#AS ~ 컬럼명 별명 지정

#정렬조건이 여러개일때 우선순위에 있는 컬럼명을 먼저 쓰면 됨

3. 흉부외과 또는 일반외과 의사 목록 출력하기

SELECT DR_NAME,DR_ID,MCDP_CD,date_format(HIRE_YMD,'%Y-%m-%d')AS HIRE_YMD FROM DOCTOR 
WHERE MCDP_CD = 'CS' or MCDP_CD = 'GS' ORDER BY HIRE_YMD DESC,DR_NAME ASC

# 날짜 포맷을 지정
#date_format() Y는 2022 y는 22로 년도 출력이 다름.

4. 3월에 태어난 여성 회원 목록 출력하기

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

#특정 상황에서 제외시키기
# 컬럼명 IS NOT ~~