inner join 절 질문드립니다
205
작성한 질문수 1
안녕하세요. 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했을때 왜 다른 값이 나오는지 궁금합니다. 또한 이때 테이블 구조가 어떻게 변경되는지도 알려주시면 감사드리겠습니다.
감사합니다.
답변 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





