Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 코드 테스트
- 디자인 패턴
- 백엔드
- 스프링
- BACK-END
- spring
- JavaScript
- 자바스크립트
- 알고리즘
- 자바
- 프로그래머스
- 코드테스트
- web
- MySQL
- 오라클
- 스프링부트
- 정리
- node.js
- 미니정리
- java
- Next.js
- oracle
- 데이터베이스
- jpa
- jsp
- 쿼리
- SQL
- 서버
- 프런트엔드
- 프론트엔드
Archives
- Today
- Total
참치코더의 꿈 메모장
Oracle / 프로그래머스 - 흉부외과 또는 일반외과 의사 목록 출력하기 본문
728x90
|
1
2
3
4
|
SELECT DR_NAME AS DR_NAME, DR_ID, MCDP_CD, TO_CHAR(HIRE_YMD,'YYYY-MM-DD') AS HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD IN ('CS','GS')
ORDER BY HIRE_YMD DESC, DR_NAME ASC;
|
cs |
- DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID,
진료과, 고용일자를 조회하는 SQL문을 작성하는 문제이다.
- 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로
오름차순 정렬해야 한다.
- 일단 DOCTOR 테이블에서 정보를 추출해야 하므로 FROM절에 DOCTOR 테이블을 사용했다.
- 문제에서 출력을 원하는 컬럼값 DR_NAME AS DR_NAME, DR_ID, MCDP_CD, HIRE_YMD을 선언 후
고용일자는 특정한 형태(YYYY-DD-MM)로 출력을 하기 위해 TO_CHAR 메서드를 사용하여
작성한 패턴대로 해당 컬럼을 출력할 수 있게 작성하였다.
- WHERE절로는 MCDP_CD 값이 흉부외과거나 일반외과인 의사의 데이터를 뽑기 위한 조건으로
걸어 주면 출력이 되고,
- ORDER BY를 사용하여 처음엔 고용일자를 기준으로 내림차순(DESC) 정렬하고, 고용일자가 같다면
이름을 기준으로 오름차순(ASC) 하도록 명시적으로 작성을 해준다면 정답을 얻을 수 있다. ^^

https://school.programmers.co.kr/learn/courses/30/lessons/132203/questions
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
'Oracle' 카테고리의 다른 글
| Oracle / 프로그래머스 - 이름에 el이 들어가는 동물 찾기 (0) | 2025.09.12 |
|---|---|
| Oracle / 프로그래머스 - 동물 수 구하기 (0) | 2025.09.09 |
| Oracle / 프로그래머스 - NULL 처리하기 (0) | 2025.09.06 |
| Oracle / 프로그래머스 - 동명 동물 수 찾기 (0) | 2025.09.03 |
| Oracle / 프로그래머스 - 최솟값 구하기 (0) | 2025.09.02 |
Comments