Intermediate SQL

Joined Relations

Natural join

앞서 배운 것처럼 모든 공통 속성을 사용하여 값이 같은 것들을 기준으로 묶음

그 결과로, 공통 속성 각각의 하나의 복사본만 남김(중복 속성 제거)

→ 하지만, 내추럴 조인에도 문제점이 존재했다.

: 같은 이름이지만 상관 없는 공통열을 묶는 대상으로 인식하여 값을 누락시키는 문제 발생

Inner join

이러한 문제점을 using 키워드를 사용하여 방지할 수 있다.

select name, title
from (student natural join takes) join course using (course_id)

→ 위의 쿼리 결과

image.png

또한, on 키워드를 사용하여 join의 조건을 설정해줄 수 있다. (속성의 이름이 다를때)

image.png

image.png

Outer join

외부 조인 조건에 맞게 조인 하고, 맞지 않는 튜플을 null 값을 집어 넣어 테이블에 더해줌

image.png