Deer

DataGrip과 SQL Developer로 SQL 연습 - 3 본문

SW 공부/SQL

DataGrip과 SQL Developer로 SQL 연습 - 3

Deer_0

📌 DataGrip과 SQL Developer로 SQL 연습: 3일차

📌 오늘
(환경: MacOS 11.4)
1. WHERE절 조건 추가하기
2. LIKE 패턴 찾기
3. SUBSTR 사용하기

시작👩‍💻

 

특정 일자를 기준으로 최고 기온과 최저 기온을 구해보자.

 

1. 서울시의 역대 최고, 최저 기온을 구하는 서브쿼리의 WHERE 절에 AND를 이용하여 조건을 추가한다.

 

2. 일치하는 패턴을 찾는 LIKE를 이용하여 STD_DE 열의 데이터에서 11월 11일에 해당하는 것을 검색한다.

 

3. '1900.01.01' 과 같은 형식이므로 SUBSTR를 이용한다.

문자열의 구간을 연도 이후부터 5글자 추출할 수 있도록 SUBSTR(A.STD_DE, 6, 5) 처럼 입력 후 MMDD 도 작성

SELECT
       B.AREA_CD
     , B.STD_DE
     , B.MIN_TEMP
     , B.MAX_TEMP
  FROM
     (
       SELECT SUBSTR(A.STD_DE, 6, 5) AS MMDD
            , MIN(A.MIN_TEMP) AS MIN_TEMP
            , MAX(A.MAX_TEMP) AS MAX_TEMP
         FROM TB_TEMP_DATA A
        WHERE A.AREA_CD = '108'
          AND A.STD_DE LIKE '_____11.11'
        GROUP BY SUBSTR(A.STD_DE, 6, 5)
     ) A
     , TB_TEMP_DATA B
WHERE (SUBSTR(B.STD_DE, 6, 5) = A.MMDD AND B.MIN_TEMP = A.MIN_TEMP)
   OR (SUBSTR(B.STD_DE, 6, 5) = A.MMDD AND B.MAX_TEMP = A.MAX_TEMP);

실행 결과

월/일에 맞는 날짜로 최저 최고 기온이 검색된다.

 

✏️정리

SUBSTR은 문자열 패턴을 이용한 조회에 유용하다.

서브쿼리 앞뒤로 원하는 결과에 맞는 요소들을 잘 챙길 필요가 있다.

Comments