👋 JOIN이 뭐예요?

JOIN은 SQL에서 두 개 이상의 테이블을 합쳐서 필요한 데이터를 가져올 때 사용하는 문법이에요.

현실에서도 정보를 얻기 위해 여러 자료를 조합하는 경우가 많죠.
예를 들어…

학생 테이블에는 이름과 학번이 있고, 성적 테이블에는 학번과 성적이 있어요.

"학생 이름과 그 학생의 성적을 보고 싶다!"면 두 테이블을 학번을 기준으로 연결해야겠죠?

 

SQL에서도 마찬가지로,
두 테이블을 특정 기준으로 연결해서 원하는 정보를 꺼내옵니다.
이때 사용하는 것이 JOIN이에요.

 

🧪 예제 소개: 영어가 공식 언어인 나라 이름 찾기

이번 예제에서는 아래와 같은 2개의 테이블을 사용합니다:

  1. countrylanguage
    • 나라별 언어 정보를 담고 있어요.
    • 예: 한국(ko)은 한국어, 미국(us)은 영어, 프랑스(fr)는 프랑스어...
  2. country
    • 나라 기본 정보를 담고 있어요.
    • 예: 국가 코드, 국가 이름, 인구 수 등

 

🎯 목표

우리가 알고 싶은 건:

공식 언어가 영어인 나라의 이름들

 

즉,

  • 영어(Language = 'English')이면서
  • 공식 언어(IsOfficial = 'T')인 나라만 골라서
  • 나라 이름을 가져오는 쿼리를 만들어볼 거예요.

🔍 SQL 코드 설명

SELECT c.name
FROM countrylanguage cl
JOIN country c
  ON cl.CountryCode = c.Code
WHERE cl.Language = 'English'
  AND cl.IsOfficial = 'T';

 

🧩 문장 구조별 해석

 

📌 JOIN 순서, 기준 테이블은 뭔가요?

"가져와야 하는 테이블이 앞에 와야 하나요?"

 

결론부터 말하면 아니에요!
JOIN은 어느 테이블이 앞이든 작동하지만,
읽기 좋고 논리적인 흐름을 위해 기준 테이블을 먼저 씁니다.

이번 예제에서는 언어 정보를 먼저 필터링하고,
그에 해당하는 나라 이름을 찾아야 하므로
countrylanguage → country 순으로 작성한 거예요.

 

📚 초보자를 위한 JOIN 기본 구조

SELECT 원하는_컬럼
FROM 기준_테이블 AS 별칭1
JOIN 합칠_테이블 AS 별칭2
  ON 기준_컬럼1 = 기준_컬럼2
WHERE 조건;

 

✅ FROM = 시작할 테이블
✅ JOIN = 합칠 테이블
✅ ON = 두 테이블의 연결 조건 (공통된 컬럼 기준)
✅ WHERE = 필터링 조

 

 

🔎 다양한 JOIN 종류도 알아두세요

🎁 정리하며

JOIN
은 SQL에서 여러 테이블을 연결해서 더 풍부한 정보를 뽑아낼 수 있는 강력한 도구예요.

 

이번 글에서는

  • JOIN의 개념
  • 실제 예제 (공식 언어가 영어인 나라 찾기)
  • 문법 구조
  • 다양한 JOIN 종류

를 기초부터 차근차근 정리해봤어요.

 

✨ 다음 글 예고

👉 "LEFT JOIN과 INNER JOIN의 차이, 직접 비교하면서 이해해보기"

+ Recent posts