inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

4번 문제 풀이

inner join 절 질문드립니다

205

Somm

작성한 질문수 1

0

안녕하세요. inner join절 질문드립니다.

영상에서 [inner join challenges c on s.challenge_id=c.challenge_id] 쿼리를 [inner join challenges c on h.hacker_id = c.hacker_id]로 입력을 해서 실행한 결과 전혀 다른 값이 나오는 것을 확인할 수 있었습니다. (다른 쿼리는 모두 동일했습니다)

윗줄에서 submissions table과 hackers table이 inner join되어 있어서 hackers table과 challenges table을 inner join 해도 결과값이 같을 것이라고 예상했었는데요.

해당 쿼리를 이용하여 inner join했을때 왜 다른 값이 나오는지 궁금합니다. 또한 이때 테이블 구조가 어떻게 변경되는지도 알려주시면 감사드리겠습니다.

감사합니다.

sql

답변 1

0

윤선미

안녕하세요.

조인을 할 때 어떤 테이블을 어떤 키를 가지고 연결할 것인지는 매우 중요합니다. challenges 테이블을 challenge_id라는 컬럼을 이용해 s 라는 테이블과 연결했을 때와, challenges 테이블을 hacker_id 라는 컬럼을 이용해 h 라는 테이블과 연결했을 때의 결과물은 다릅니다.

여러 테이블을 조인해놓은 결과물을 보고 헷갈리신다면, 다른 테이블들은 쿼리에서 덜어내고 challenges 테이블과 조인 조건만 가지고 각각 두 가지 케이스의 조인 결과물을 보고 비교해보시면 이해가 되실 것 같습니다.

inner join challenges c on s.challenge_id=c.challenge_id
inner join challenges c on h.hacker_id = c.hacker_id

섹션 4번에 2번 문제 질문입니다.

0

107

2

4번 문제

0

91

1

Top competitors 에서 having count(h.hacker_id)로 해도 되나요?

0

267

1

leetcode 620 group by 질문이요

0

209

2

강의 일시정지/ 기간연장 검토 요청

0

386

1

4번 문제 group by 질문

0

325

2

세트2 4번 문제풀이 해설에 관한 질문

0

359

2

Weather Observation Station 11_ not like 사용

0

270

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

289

1

Set2 4번문제 질문 - New Companies

0

319

1

WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?

-1

714

1

as 2 space-separated values. 무슨 말인가요???

0

434

1

Weather observation Station 11 관련 질문

1

378

2

4번문제풀이

0

458

1

섹션3. Weather Observation Station 18 문제 관련

0

378

2

섹션 2에 1,2번 문제풀이 관하여

0

435

1

기한연장문의

0

332

1

Weather observation station 11 문제 not like

-1

371

1

inner join 과 left join

1

600

1

4번 BST 문제 틀리는 이유

0

348

1

4번 문제 질문

0

291

1

620. Not Boring Movies 문제 질문드립니다

0

290

1

binary tree 질문 입니다.

0

301

1

Top Competitors 질문있습니다 ㅠㅠ

0

248

1