SQL - JOIN

yunssup·2025년 6월 24일

📖SQL

목록 보기
6/8

SQL에는 큰 벽이 이따... 그건 바로 JOIN의 벽이라구 생각한다...

예전에 혼자 SQL 공부할 때 JOIN에서 포기한 경험이 있었는데 데이터리안으로 통해 공부하는 만큼 이번엔 포기하지 않고 끝까지 해보려구 한다!!

조인 한눈에 확인하는 사이트
⬆️ 먼저 이 사이트를 통해 JOIN에 대한 기본 개념을 확인할 수 있다.

구글링을 하면서 찾아온 그림이다..!!

조인을 사용하는 이유는 두 개의 테이블을 엮어야 원하는 결과가 나오는 경우를 위해 사용한다. 즉, 조인을 쓰면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있다.

INNER JOIN

  • 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
  • 두 테이블의 교집합이라고 이해하면 된다!
SELECT <열 목록>
FROM <첫 번째 테이블>
    INNER JOIN <두 번째 테이블>
    ON <조인 조건>
[WHERE 검색 조건]
  • 기본적으로 SQL에서 JOIN이라고 작성하면 INNER JOIN으로 적용된다.

OUTER JOIN

  • OUTER JOIN은 한 쪽에만 데이터가 있어도 결과가 추출된다.
SELECT < 목록>
FROM < 번째 테이블(LEFT 테이블)>
    <LEFT | RIGHT | FULL> OUTER JOIN < 번째 테이블(RIGHT 테이블)>
     ON <조인 조건>
[WHERE 검색 조건]
  • OUTER JOIN에서는 기준 조건을 잘 설정해야 하는데,
    - LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력되는 조인
    - RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력되는 조인
    - FULL OUTER JOIN : 왼쪽 외부 조인과 오른쪽 외부 조인이 합쳐진 것

CROSS JOIN

  • 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능.
  • 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수 만큼이다.
SELECT *
FROM < 번째 테이블>
    CROSS JOIN < 번째 테이블>

SELF JOIN

  • 자기 자신과 조인하기 때문에 1개의 테이블만사용한다.
  • 따라서, AS를 통해 테이블의 별칭을 설정해줘야한다!
SELECT < 목록>
FROM <테이블> 별칭A
    INNER JOIN <테이블> 별칭B
[WHERE 검색 조건]

1개의 댓글

comment-user-thumbnail
2025년 6월 27일

헐 완전 이해했어요

답글 달기