본문 바로가기

SQL/[HackerRank]

[HackerRank/MySQL] New Companies

728x90

< Problem >

회사코드, 설립자 이름, 총 리드 관리자 수, 총 고위 관리자 수, 총 관리자 수, 총 직원 수 출력하기.
(회사코드 기준 오름차순으로 출력)

링크:  https://www.hackerrank.com/challenges/the-company/problem

 

New Companies | HackerRank

Find total number of employees.

www.hackerrank.com


< Code >

SELECT c.company_code, c.founder, COUNT(DISTINCT lm.lead_manager_code), COUNT(DISTINCT sm.senior_manager_code), COUNT(DISTINCT m.manager_code), COUNT(DISTINCT e.employee_code)
FROM company c
     LEFT JOIN lead_manager lm ON c.company_code = lm.company_code
     LEFT JOIN senior_manager sm ON lm.lead_manager_code = sm.lead_manager_code
     LEFT JOIN manager m ON sm.senior_manager_code = m.senior_manager_code
     LEFT JOIN employee e ON m.manager_code = e.manager_code
GROUP BY c.company_code, c.founder
ORDER BY c.company_code ASC

 

< Lesson & Learned >

SELECT: 키워드와 함께 검색하고 싶은 속성의 이름을 나열
FROM
: 키워드와 함께 검색하고 싶은 속성이 있는 데이블의 이름을 나열
COUNT( )
:  속성 값의 개수를 검색하기 위한 집계함수. NULL 속성 값은 제외하고 계산됨.
DISTINCT
: 결과 테이블이 튜플의 중복을 허용하지 않도록 지정
GROUP BY
: 특정 속성의 값이 같은 투플을 모아 그룹을 만들고, 그룹별로 검색. HAVING 키워드를 이용해 그룹에 대한 조건을 작성함.
ORDER BY
: 결과 테이블 내용을 원하는 순서로 출력. 오름차순(기본): ASC, 내림차순: DESC
LEFT JOIN ON: 추가예정

728x90

'SQL > [HackerRank]' 카테고리의 다른 글

[HackerRank/MySQL] The Report  (0) 2023.03.30
[HackerRank/MySQL] Weather Observation Station 20  (0) 2023.03.30
[HackerRank/MySQL] Binary Tree Nodes  (0) 2023.03.28
[HackerRank/MySQL] Top Earners  (0) 2023.03.21
[HackerRank/MySQL] The Blunder  (0) 2023.03.21