반응형
SELECT DR_NAME, DR_ID, MCDP_CD,DATE_FORMAT(HIRE_YMD,'%Y-%m-%d')
FROM DOCTOR
WHERE 1=1
AND MCDP_CD = "CS"
OR MCDP_CD = "GS"
ORDER BY HIRE_YMD desc, DR_NAME
DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냄
흉부외과 또는 일반외과를 조회하는 데이터를 구하고 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해야하는 문제이다.
흉부외과는 CS 일반 외과는 GS로 두가지를 OR 조건으로 조회 해야한다. 따라서 WHERE 조건절에서 CS와 GS를 OR로 조회 해 주었다.
OR 조건문의 다른 방식은 IN ("CS","GS") 의 방법도 있다.
ORDER BY 절에서 내림차순의 경우 desc를 컬럼명 뒤에 붙여주고 뒤에 오름차순은 default 값으로 따로 입력하지 않았다.
날짜의 형식도 일치하게 맞추어 주어야 하는데 대문자 Y의 경우 년도 1993 형식으로 4자가 다 나오게 m의 경우 09 형식으로 2자리로 나오게 d도 마찬가지로 09 형식으로 1993-09-09 의 형식이 나오게 DATE_FORMAT 함수를 사용하여 맞추어 주었다.
반응형
'SQL > MY SQL 문제 풀이(프로그래머스)' 카테고리의 다른 글
[MYSQL] PROGRAMMERS_이름이 없는 동물의 아이디 (0) | 2024.02.21 |
---|---|
[MYSQL] PROGRAMMERS_경기도에 위치한 식품창고 목록 출력하기 (0) | 2024.02.20 |
[MYSQL] PROGRAMMERS_강원도에 위치한 생산공장 목록 출력하기 (1) | 2024.02.20 |
[MYSQL] PROGRAMMERS_가장 비싼 상품 구하기 (0) | 2024.02.20 |
[MYSQL] PROGRAMMERS_어린 동물 찾기 (0) | 2024.02.20 |