TIL

[TIL] 2022.02.16 Oracle) JOIN / 입양 시각 구하기(2)

na_o 2022. 2. 16. 16:34
728x90

코딩테스트 연습 - 입양 시각 구하기(2) | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 입양 시각 구하기(2)

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

programmers.co.kr


LEVEL에 대해서 처음 알았다

숫자를 순서대로 출력해준다

SELECT  LEVEL - 1 hour
 FROM    dual
 CONNECT BY LEVEL <= 24

0에서 23까지 나온다

 

 

답 :

SELECT  b.hour "HOUR", COUNT(a.datetime) "COUNT"
FROM    animal_outs a 
RIGHT JOIN
(SELECT  LEVEL - 1 hour
 FROM    dual
 CONNECT BY LEVEL <= 24) b
ON
TO_NUMBER(TO_CHAR(datetime, 'HH24')) = b.hour
GROUP BY hour
ORDER BY hour;

SQL이 좀 어려워보였지만, JOIN에 대해 익숙해지고 하나하나 분석해보니 어렵지 않았다

 

 

 

 

 

 

 

꿈꾸는 개발자, DBA 커뮤니티 구루비 (gurubee.net)

 

Outer Join (LEFT, RIGHT, FULL OUTER JOIN)

Outer Join 이란? - Equi Join은 조인을 생성하려는 두 개의 테이블의 한쪽 컬럼에서 값이 없다면 테이터를 반환하지 못한다. - 동일 조..

www.gurubee.net

 

오라클 LEVEL 잘 사용하기(가로컬럼을 세로로 변환) (tistory.com)

 

오라클 LEVEL 잘 사용하기(가로컬럼을 세로로 변환)

오라클에서 LEVEL은 순차적자료를 나열할때 꼭쓰이고 있습니다. 특히 날짜관련 자료를 다룰때 혹은 통계 쿼리에서 많이 사용이 되는데 한번 살펴 보겠습니다. SELECT LEVEL FROM dual  CONNECT BY LEVEL <=10

linguist79.tistory.com

[오라클|Oracle] 테이블끼리 조인 걸기 - INNER JOIN, LEFT OUTER JOIN (tistory.com)