1. 입양 시각 구하기 (1)
문제 programmers.co.kr/learn/courses/30/lessons/59412
정답
설명
(1) 서브 쿼리 - 인라인 뷰 (FROM 절에 사용하는 서브 쿼리)
- TO_CHAR 함수 사용 : DATETIME 데이터를 'HH24' 형태로 변환
- 'HH24' : 24시간제를 의미
(2) 부모 쿼리
- HOUR의 값이 9이상 20 미만의 데이터를 추출 > WHERE 절
- HOUR별로 그룹화 함 > GROUP BY절
- HOUR을 기준으로 정렬 > ORDER BY절
2. 입양 시각 구하기 (2)
문제 programmers.co.kr/learn/courses/30/lessons/59413
정답
MySQL : 변수를 생성하여 연산
ORACLE : Level 을 이용하여 0~23까지의 값을 만들어 줌
설명
(1) 서브 쿼리 - 인라인 뷰 OUTS
- DATETIME 데이터를 'HH24' 24시간 형태로 변환
- GROUP BY을 사용하여, 시간 별 컬럼 개수를 구한다.
(2) 서브 쿼리 - 인라인 뷰 HOURS
- CONNECT BY LEVEL <= NUMBER 함수는 1부터 NUMBER까지 1씩 추가 되는 함수 (계층적 데이터를 표현하기 위해 사용)
(3) 부모 쿼리
- 시간별(HOURS.HOUR)로 입양된 동물(NVL(CNT, 0))을 출력
- NVL(값, 지정 값) 함수 : 값이 NULL인 경우 지정 값을 출력
- HOURS의 HOUR과 OUTS의 HOUR을 기준으로 외부 JOIN
- 시간(HOUR) 순 정렬 > ORDER BY절
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[ORACLE] SQL > JOIN : 없어진 기록 찾기 (0) | 2021.02.19 |
---|---|
[ORACLE] SQL > IS NULL (3문제) (0) | 2021.02.19 |
[ORACLE] SQL > GROUP BY (2문제) (0) | 2021.02.18 |
[ORACLE] SQL > SUM, MAX, MIN (4문제) (0) | 2021.02.18 |
[ORACLE] SQL > SELECT (7문제) (0) | 2021.02.18 |