행궁동 데이터 엔지니어

반응형

프로그래머스 SQL 문제 중 GROUP BY 카테고리에 속한 1문제를 풀어 봤습니다.

SQL문제 중 LEVEL 4로 난이도가 높았습니다. UNION을 사용하니 확실히 쿼리가 길어지네요.

다음번에는 변수를 사용해서 풀어 보겠습니다.

 

주요 사용 쿼리/함수 : UNION, LEFT JOIN, INNULL, GROUP BY, HOUR(기준시간)

 

UNION 짤막한 설명

  • UNION : 2개 이상의 쿼리를 결합할 때 사용
  • UNION, UNION ALL 2가지를 사용할 수 있음
  • UNION > 결합 시 중복은 제거
  • UINON ALL > 중복 제거 X

 

입양 시각 구하기(2) 문제

  • 0~23시 모든 시간에서, 해당 시각에 입양된 기록이 없어도(NULL 이어도) COUNT 0으로 출력하는 것이 관건
  • UNION으로 0~23 모든 시간을 가진 TABLE을 생성하고, 여기에 LEFT JOIN과 IFNULL을 사용해 문제 해결

https://programmers.co.kr/learn/courses/30/lessons/59413

 

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

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FA

programmers.co.kr

 

 

아래는 UNION 구문 예제입니다.

 

 

1. Park'S의 IT 이야기, SQL UNION 구문, https://makand.tistory.com/entry/SQL-UNION-%EA%B5%AC%EB%AC%B8
2. CodeDriver, [Programmers]Lv 4. 입양 시각 구하기(2), https://codedrive.tistory.com/272
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band