2024-10-03

Suhyeon Lee·2024년 10월 3일
0

Daily Routine

CodeKata

SQL: CODEKATA

39. 성분으로 구분한 아이스크림 총 주문량

  • 작성한 코드
    SELECT
      ii.ingredient_type
      , SUM(total_order) AS TOTAL_ORDER
    FROM 
      first_half fh
      LEFT JOIN icecream_info ii
      USING (flavor)
    GROUP BY
      ii.ingredient_type
    ORDER BY
      TOTAL_ORDER
    ;
    • 테이블 구조를 보면 ingredient_type 컬럼이 하나뿐이라 alias 표시를 안 해도 괜찮을 것 같음
      • 표시를 하기로 마음먹었다면 SUM 안의 total_order도 fh.total_order로 적는 편이 좋지 않았을까 하는 생각
    • 두 테이블의 필드값(컬럼명)이 동일하길래 USING을 사용해 보았는데 확실히 ON으로 적을 때보다 간결해서 보기 좋다.
    • 나는 LEFT (OUTER) JOIN을 사용했는데 다른 분들 풀이를 보면 (INNER) JOIN을 사용하고 있음
      SELECT ingredient_type, SUM(total_order) AS TOTAL_ORDER
      FROM first_half JOIN icecream_info USING (flavor)
      GROUP BY 1
      ORDER BY 2
      ;
      • JOIN 내용 다시 한번 정리하기


※추가: OUTER JOIN

    SELECT
      ii.ingredient_type
      , SUM(total_order) AS TOTAL_ORDER
    FROM 
      first_half fh
      LEFT JOIN icecream_info ii
      ON fh.flavor <> ii.flavor
profile
2 B R 0 2 B

0개의 댓글