IF문에 대해 친숙해질 수 있어서 좋았다.
문제에서 요구하는 조건
- 12세 이하인 여자환자 조회
- 환자이름, 환자번호, 성별코드, 나이, 전화번호 조회
- 전화번호가 없는 경우 'NONE'으로 출력
- 나이를 기준으로 내림차순 정렬, 나이가 같다면 환자 이름을 기준으로 오름차순 정렬
내가 작성한 답
SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT WHERE AGE<=12 AND GEND_CD ='W' ORDER BY AGE DESC, PT_NAME ASC
분석
SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT
- 전화번호가 없는 경우 NONE으로 출력하기 위해 IFNULL()를 사용함
- IF(TLNO IS NULL, 'NONE', TLNO) AS TLNO 사용도 가능함
WHERE AGE<=12 AND GEND_CD ='W'
- AND 대신 자꾸 ,를 사용해서 오류가 발생함. AND를 사용해야 함.
ORDER BY AGE DESC, PT_NAME ASC
- 나이를 기준으로 내림차순 정렬하기 위해 DESC를 사용함
- ASC는 생략 가능함
'CS > SQL' 카테고리의 다른 글
[프로그래머스] 인기있는 아이스크림 (0) | 2023.07.19 |
---|---|
[프로그래머스] 평균 일일 대여 요금 구하기 (0) | 2023.07.17 |
[프로그래머스] 과일로 만든 아이스크림 고르기 (0) | 2023.07.14 |
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 (0) | 2023.07.14 |
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.07.05 |
댓글