[DB / SQL] DB Join 조인 (left join / right join / inner join / outer join)

2024. 2. 22. 15:13·Database

조인 (Join)


조인(join)은 하나의 쿼리로 두 개 이상의 테이블을 묶어서 불러오는 것을 말한다.

Join은 크게 inner, left, right, outer join으로 나뉜다.

 

INNER JOIN

두 개의 테이블 간의 교집합을 나타낸다.

inner join

A 테이블과 B 테이블에서 조건을 만족하는 row만 조회한다.

SELECT * FROM TableA A
INNER JOIN TableB B ON
A.key = B.key

 


LEFT OUTER JOIN

왼쪽 테이블 A를 기준으로 오른쪽 테이블 B의 일치하는 부분의 레코드와 함께 출력된다.

만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null로 출력된다.

left outer join

A 테이블의 데이터가 모두 출력되지만,

조건에 만족하는 경우 B 테이블의 데이터도 출력되고,

조건에 만족하지 않는 경우 B 테이블 부분은 null로 출력된다.

SELECT * FROM TableA A
LEFT JOIN TableB B ON
A.key = B.key

 

LEFT JOIN (차집합)

A - B

테이블 B의 데이터가 존재하지 않는 테이블 A의 데이터를 모두 불러온다.

SELECT A.* FROM TableA A
LEFT JOIN TableB B ON A.key = B.key
WHERE B.KEY IS NULL;

RIGHT OUTER JOIN

오른쪽 테이블 B를 기준으로 왼쪽 테이블 A의 일치하는 부분의 레코드와 함께 출력된다.

만약 테이블 A에 일치하는 항목이 없으면 해당 값은 null로 출력된다.

right outer join

B 테이블의 데이터가 모두 출력되지만,

조건에 만족하는 경우 A 테이블의 데이터도 출력되고,

조건에 만족하지 않는 경우 A 테이블 부분은 null로 출력된다.

SELECT * FROM TableA A
RIGHT JOIN TableB B ON
A.key = B.key

 

RIGHT JOIN (차집합)

B - A

A 테이블의 데이터가 존재하지 않는 B 테이블의 데이터를 모두 불러온다.

SELECT B.* FROM TableA A
RIGHT JOIN TableB B ON A.key = B.key 
WHERE A.key IS NULL;

FULL OUTER JOIN

왼쪽 테이블과 오른쪽 테이블의 데이터가 모두 출력된다.

각각 조건에 만족하지 않는 부분은 null로 반환되고, 중복은 제외된다.

full outer join

SELECT * FROM TableA A
FULL OUTER JOIN TableB B ON
A.key = B.key
반응형
저작자표시 (새창열림)

'Database' 카테고리의 다른 글

[DataBase] 트랜잭션 - 락(Lock) 동작 원리와 동작 과정  (0) 2024.03.19
[Database] 트랜잭션의 동작 원리와 ACID 속성  (0) 2024.03.19
[Redis] 레디스 설치 및 기본 기능  (0) 2023.11.07
[JPA] 연관관계 매핑 - @OneToOne 일대일 매핑  (0) 2023.10.06
[JPA] 연관관계 매핑 - @ManyToOne, @OneToMany  (0) 2023.10.06
'Database' 카테고리의 다른 글
  • [DataBase] 트랜잭션 - 락(Lock) 동작 원리와 동작 과정
  • [Database] 트랜잭션의 동작 원리와 ACID 속성
  • [Redis] 레디스 설치 및 기본 기능
  • [JPA] 연관관계 매핑 - @OneToOne 일대일 매핑
HSRyuuu
HSRyuuu
Web Server Developer hsryuuu
  • HSRyuuu
    HS_dev_log
    HSRyuuu
  • 전체
    오늘
    어제
    • 전체 글 보기 (251)
      • Spring (37)
      • Infra & DevOps (20)
      • Java (25)
      • AI (8)
      • Database (28)
      • Web & Network (14)
      • 자료구조 & 알고리즘 (30)
      • Computer Science (24)
      • Frontend (17)
        • Vue.js & Nuxt.js (9)
        • JSP_Thymeleaf (7)
      • etc (48)
        • 오픈소스 라이브러리 (5)
        • 코딩테스트 (13)
        • Trouble Shooting (7)
        • Tech Interview (6)
        • Book Review (9)
        • 끄적끄적... (6)
        • 개인 프로젝트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.4
HSRyuuu
[DB / SQL] DB Join 조인 (left join / right join / inner join / outer join)
상단으로

티스토리툴바