Cute Running Puppy
본문 바로가기
개발일기/SQL

[프로그래머스 SQL] 입양 시각 구하기(2)

by 징구짱 2023. 6. 21.
728x90

입양 시각 구하기(1)

입양 시각 구하기(1)은 쉽게 했던것 같은데

입양 시각 구하기(2)를 1처럼 풀었다가 틀려서 당황했다..!

 

무엇이 다르길래 Lv.2에서 Lv.4로 뛰었냐면?!

 

입양 시각 구하기(2)

예시가 기이이일어졌다 입양된 내역이 없는 시간도 보여줘야한다는 조건이 생겼기 때문..!

이것을 표현하기 위해

 

ORACLE 

ORACLE 에서는 계층데이터를 위해 CONNECT BY 절을 지원

SELECT LEVEL-1 HOUR
  FROM DUAL CONNECT BY LEVEL<= 24

DUAL 테이블을 이용해 24개의 행을 생성

DUAL 테이블 : 함수를 이용해서 계산 결과값을 확인 할 때 사용하는 테이블

LEVEL은 1부터 시작하므로 LEVEL-1로 조회하여 0부터 23까지 행의 조회가 가능

 

MySQL

MySQL에서는 사용자 정의 변수 선언 및 초기화시 SET을 사용

SET을 사용하여 변수선언시 대입 연산자는 ' = ' 또는 ' := ' 둘 다 사용 가능하지만 그 외에는 ' := ' 를 사용

HOUR 변수를 -1로 선언 후 HOUR + 1하여 조회

HOUR가 -1부터 22까지 조회하므로 + 1된 0부터 23까지 조회

SET @HOUR = -1;

SELECT (@HOUR := @HOUR + 1) HOUR
  FROM ANIMAL_OUTS
 WHERE @HOUR < 23

728x90

'개발일기 > SQL' 카테고리의 다른 글

ora-28040: no matching authentication protocol / DBeaver 연결 오류, Schemas 물음표 깨짐  (0) 2023.11.06
ORACLE 숫자 함수  (0) 2023.06.22
쿼리 삽질 기록  (0) 2023.04.20
ERD 그리기  (0) 2023.03.07
SQL 정리  (0) 2023.02.25