상세 컨텐츠

본문 제목

[RDB] Join (테이블 결합) 정리

IT/프로그래밍

by James Lee. 2018. 6. 9. 20:13

본문

[RDB] 테이블 결합 (JOIN) 정리

결합의 종류

  • 교차결합 ( == 곱집합. A,B,C * 1,2,3)
    • select * from table a, table b
    • 내부결합 (Inner Join)
      • 교차결합에서 원하는 조합을 검색하는 것
        • 보통 PK를 이용함
        • 일반적으로 Inner Join 키워드를 이용해서 많이 함
        • 외부결합 (Outer Join)

결합 방법으로는 교차결합보다 내부결합을 많이 씀

equal 조인과 inner join 키워드 명시의 차이

  • 기본적으로 equal 조인과, inner join 키워드 명시는 동일함
  • 다만, 키워드를 사용하면 보다 디테일한 처리를 명시할 수 있음
    • outer, left 등등..
    • 그렇지만 보통 inner join에서 끝난다. DB에서 로직을 많이 안 쓰는 추세이기 때문에.

inner join syntax

SELECT * FROM table_name1 INNER JOIN table_name2 ON [결합조건]

외부 결합 (Outer Join)

  • 교차결합으로 결합 조건을 지정하여 검색한다는 것은 Inner Join과 동일
  • 어느 한 쪽에만 존재하는 데이터행을 어떻게 다룰지를 변경할 수 있는 결합 방법
    • A / B 테이블 중 A 테이블에만 행이 존재한다면?
    • 어느 테이블을 기준으로 출력할 것인지 정한다. 왼쪽 또는 오른쪽
      • 기준이 아닌 테이블에서 조건이 매칭되지 않는 열의 데이터는 전부 null
      • 기준이 되는 테이블의 열은 전부 다 나옴
  • LEFT JOIN 또는 RIGHT JOIN으로 Outer Join을 할 수 있다.
  • 구식 결합방법 (+) 은 사용하지 않는다. 표준을 사용한다.

관련글 더보기

댓글 영역