[23.09.13] Oracle SQL _New Companies

YS CHOI·2023년 9월 13일
1

SQL

목록 보기
4/4
post-thumbnail

테이블 구조






SELECT a01.company_code
      ,a01.founder
      ,a02.cnt
      ,a03.cnt
      ,a04.cnt
      ,a05.cnt      
FROM company a01
    LEFT JOIN
        (
        SELECT company_code
              ,COUNT(DISTINCT lead_manager_code) cnt
          FROM lead_manager
         GROUP BY company_code            
            )a02 ON a01.company_code = a02.company_code
     LEFT JOIN
        (
        SELECT company_code
              ,COUNT(DISTINCT senior_manager_code)cnt
          FROM senior_manager
         GROUP BY company_code            
            )a03 ON a01.company_code = a03.company_code
     LEFT JOIN
        (
        SELECT company_code
              ,COUNT(DISTINCT manager_code)cnt
          FROM manager
         GROUP BY company_code            
            )a04 ON a01.company_code = a04.company_code            
     LEFT JOIN
        (
        SELECT company_code
              ,COUNT(DISTINCT employee_code) cnt
          FROM employee
         GROUP BY company_code            
            )a05 ON a01.company_code = a05.company_code
ORDER BY a01.company_code
;

조인의 개념만 알면 쉽게 해결할 수 있는 문제.
이 방법보다, 모든 테이블을 LEFT JOIN 한 후 GROUP BY 하는 방법이 더 가독성 있을 것 같긴 함.

0개의 댓글