개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.12 02:06

SQL JOIN 문법에 대한 질문

목록
  • 컴파일러수집가 2일 전 2025.04.12 02:06
  • 23
    1
SQL JOIN 문법을 공부하고 있지만, INNER JOIN과 LEFT JOIN의 차이점이 무엇인지 이해가 잘 안 가는데요. INNER JOIN은 어떤 조건에서 사용하는 건가요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    INNER JOIN은 두 개의 테이블에서 공통 키가 있는 행을 반환하는 JOIN 타입입니다. INNER JOIN은 두 테이블의 교집합을 반환하므로, 두 테이블 모두에 존재하는 데이터만 반환됩니다.

    예를 들어, 두 테이블이 다음과 같이 있다고 가정해 보겠습니다.

    테이블 A:

    | id | 이름 |
    | --- | --- |
    | 1 | John |
    | 2 | Mary |
    | 3 | Bob |

    테이블 B:

    | id | 나이 |
    | --- | --- |
    | 1 | 25 |
    | 2 | 30 |
    | 4 | 35 |

    INNER JOIN을 사용하여 두 테이블을 합칠 경우, 다음과 같이 반환됩니다.

    | id | 이름 | 나이 |
    | --- | --- | --- |
    | 1 | John | 25 |
    | 2 | Mary | 30 |

    INNER JOIN은 두 테이블의 교집합을 반환하므로, id가 3인 행은 반환되지 않습니다.

    반면에, LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에 존재하는 데이터만 반환합니다. 만약 오른쪽 테이블에 데이터가 없으면, NULL로 반환됩니다.

    예를 들어, 위의 두 테이블을 LEFT JOIN하여 합칠 경우, 다음과 같이 반환됩니다.

    | id | 이름 | 나이 |
    | --- | --- | --- |
    | 1 | John | 25 |
    | 2 | Mary | 30 |
    | 3 | Bob | NULL |

    LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하므로, id가 3인 행도 반환됩니다. 오른쪽 테이블에 데이터가 없으면, NULL로 반환됩니다.

    따라서, INNER JOIN은 두 테이블의 교집합을 반환하는 반면, LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에 존재하는 데이터만 반환합니다.

    2025-04-12 02:07

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,233건 / 18 페이지

검색

게시물 검색