inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

3번 문제 풀이

Contest Leaderboard 관련 질문

192

lgy890218

작성한 질문수 7

1

안녕하세요? 항상 좋은 강의 해주셔서 감사드립니다.
 
다름이 아니라, Contest Leaderboard 와 관련하여, 아래와 같은 풀이법은 안되는건가요?
Count 한 결과를 서브쿼리로 나타내셨는데, 저는 그게 아니라 Count 한 서브쿼리들을 기본 Company Table 에서 company_code 를 중복제거 한 뒤에 company_code 기준으로 left join 하는걸 생각했는데요.
Run Code 하면 답은 안나오는데, 왜 안나오는건지 궁금해서요.
이렇게 접근 하는 개념이 제가 놓치고 있는 게 있나 해서 여쭤봅니다.
 
 
SELECT DISTINCT c.company_code , c.founder , Count_L , Count_S , Count_M , Count_E FROM Company C LEFT JOIN ( SELECT company_code, COUNT(DISTINCT lead_manager_code) as Count_L FROM Lead_Manager ) L ON C.company_code = L.company_code LEFT JOIN( SELECT company_code, COUNT(DISTINCT senior_manager_code) as Count_S FROM Senior_Manager) S ON C.company_code = S.company_code LEFT JOIN( SELECT company_code, COUNT(DISTINCT manager_code) as Count_M FROM Manager) M ON C.company_code = M.company_code LEFT JOIN( SELECT company_code, COUNT(DISTINCT employee_code) as Count_E FROM Employee) E ON C.company_code = E.company_code

 

sql

답변 1

0

윤선미

안녕하세요!

JOIN으로 문제를 푸실 때에는 아래처럼 푸시면 됩니다 :)

 

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 LM.company_code = C.company_code
     LEFT JOIN Senior_Manager SM ON LM.lead_manager_code = SM.lead_manager_code
     LEFT JOIN Manager M ON M.senior_manager_code = SM.senior_manager_code
     LEFT JOIN Employee E ON E.manager_code = M.manager_code
GROUP BY C.company_code, C.Founder
ORDER BY C.company_code

강의기간 연장문의

0

108

2

HackerRank : Weather Observation Station 11 문제풀이

0

124

1

SET4의 3번 자리바꾸기 문제 다른 풀이

0

197

1

set 3의 3번 문제- 데이터의 개수가 짝수일 때 질문

0

277

2

set 1 - 2번 문제풀이

0

270

1

세트2번 Binary Tree Nodes 질문입니다!

0

231

2

고급문제풀이set1 3번 문제

0

255

2

고급문제풀이 3번 INNERJOIN 활용시 오류

0

275

1

회사일하다 보니까 다 못듣고 수강기간이 다끝나가는데 .,. 수강기간 연장은 어떻게 할수 있나요?ㅜㅜ

0

325

1

[Weather 20 ] 2번째 쿼리도 따라 했는데 왜 다 실패일까요?

0

382

1

[Weather 20] 따라 했는데 왜 작동 안해요?

0

283

1

weather-20 왜 작동 안하는건가요?

0

234

1

Ollivander's Inventory 윈도우 함수 min() over

0

320

1

LeetCode 626. Exchange Seats 리트코드 제출 오류

0

511

2

섹션4에 3번 문제풀이 질문

0

387

2

SQL Project Planning 풀이 관련 문의

0

589

2

섹션 1번 4번문제 풀이

1

290

1

섹션1 2번 문제풀이 강의

0

309

1

set2 - 1 같게 작성했는데 답이 이상합니다.

0

289

1

max함수를 써서 풀지는 못하나요?

0

306

1

윈도우 함수를 이용해서 풀고 싶어서 써봤습니다. 더 간단하게 줄일 수 있을까요?

0

265

1

(Hacker Rank)Binary Tree 문제 질문

0

329

1

쿼리 두개로 작성하고 싶지 않아 하나로 어떻게든 만들어 봤습니다.

0

300

1

이런 풀이는 왜 안되는지 궁금해요

0

280

1