SQL 기초집LESSON 14
INNER JOIN으로 테이블 연결
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
14강. INNER JOIN으로 테이블 연결
1. 이번 강의에서 해결할 문제
정규화된 데이터는 여러 테이블에 나뉘어 있습니다. 필요한 의미를 복원하려면 관계 키를 정확한 JOIN 조건으로 연결해야 합니다.
2. 학습 목표
3. 핵심 개념
INNER JOIN은 ON 조건이 참인 양쪽 행 조합만 반환합니다. 기본 키와 외래 키를 연결하면 의도한 관계가 되며, 조건을 빠뜨리면 모든 조합이 생기는 Cartesian product로 행 수가 폭증합니다.
4. 단계별 SQL 예시
대상 테이블: players, games, match_results, character_stats (읽기 전용)
파일 경로: C:\dev\game-ranking-db\sql\14-inner-join.sql
sql/14-inner-join.sql
SELECT
g.game_id,
g.started_at,
p.username,
mr.result,
mr.score,
cs.character_name,
cs.damage_dealt
FROM match_results AS mr
INNER JOIN players AS p ON p.player_id = mr.player_id
INNER JOIN games AS g ON g.game_id = mr.game_id
INNER JOIN character_stats AS cs ON cs.result_id = mr.result_id
ORDER BY g.started_at, mr.rank_position;
SELECT COUNT(*) AS joined_rows
FROM match_results AS mr
JOIN players AS p ON p.player_id = mr.player_id;
PowerShell · 실행 순서
sqlite3 -header -box .\data\game_ranking.db ".read .\sql\14-inner-join.sql"
5. 쿼리가 동작하는 이유
match_results가 관계의 중심입니다. 각 외래 키가 하나의 부모 행과 연결되고 character_stats는 result_id로 붙습니다. INNER 키워드는 생략 가능하지만 학습 단계에서는 의도를 명시합니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2INNER JOIN으로 테이블 연결 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
14강. INNER JOIN으로 테이블 연결 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.