DB

join을 이용하여 데이터 조회하기

옴악핫세 2023. 6. 27. 16:21

SQL에게 Join 이란?

두개 이상의 table 들에 있는 데이터를 한번에 조회하는 것

여러 종류의 join이 존재

 

Implicit Join

Where 절에 join condition을 명시하고, from 절에는 table 들만 나열

old style

단점 : where 절에 select 조건과 join 조건이 있어서 가독성 떨어지고 문법 오류 발생 가능

 

 

 

 

 

Explicit Join

from 절에 Join 키워드와 함께 joined table 들을 명시하는 방식

 

 

 

Inner Join (Inner는 생략 가능)

두 테이블에서 join condition을 만족하는 tuple 들로 result table을 만드는 join 

join condition에 다양한 연산자 사용 가능

 

예시

dept_id와 department_id가 같은 데이터를 조회

(dept_id = 15 , department_id = 1002 데이터는 포함 안됨)

 

 

Outer Join 

두 테이블에서 join condition을 만족하지 않는 tuple들도 result table에 포함하는 join

3가지 종류가 있음 이 종류들은 equi join임

1. Left Join

2. Right Join

3. Full Join

 

Left Join 예시

left인 employee 테이블에 있는 데이터 simon의 튜플중 없는 값은 null로

 

Righ Join 예시

right 테이블인 department 테이블의 튜플들은 모두 가져옴

 

FullJoin 예시 (MySQL에서는 지원하지 않는 기능)

두개의 테이블 모두 매칭되지 않는 튜플들까지 결과 테이블에 있음

 

 

 

 

추가로 Join 예시

 

 

 

 

 

 

 

 

https://www.youtube.com/watch?v=E-khvKjjVv4&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe&index=8 

 

 

 

 

 

 

https://schatz37.tistory.com/2