DataBase

[SQL] 프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (SELECT)

Eunice99 2024. 1. 31. 20:47

https://school.programmers.co.kr/learn/courses/30/lessons/132201

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

오늘도 한문제~!

[문제]

PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성하는데, 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬하면 되는 문제다.

 

테이블을 확인해보면 아래와 같다! 

 

https://0749m.tistory.com/54

 

[SQL]ORDER BY절 사용법, 설명, 우선순위, ORDER BY 여러개

ORDER BY 사용법 SELECT * FROM 테이블이름 ORDER BY 컬럼명 정렬방법; //DESC(내림차순), ASC(오름차순) SELECT * FROM 테이블이름 ORDER BY 컬럼명; // 정렬방법을 생략하면 ASC가 기본값이다. 회원정보테이블 ID NAM

0749m.tistory.com

 

근데 order by 여러개 하는거 까먹어서 ,,, 블로그 좀 보고 age가 12보다 작을 때, 그리고 성별이 여자일때, 그리고 ifnull 함수를 사용해서 null 일때 'NONE'으로 변경했다.

select pt_name as PT_NAME, pt_no as PT_NO, gend_cd as GEND_CD, age as AGE, ifnull(tlno, 'NONE') as TLNO
from patient
where age<=12 and gend_cd='w'
order by age desc, pt_name asc;

 

그리고 order by로 age 가 같다면 이름으로 정렬하면 된다.