모두의 SQL - JOIN

-·2022년 6월 24일
0

JOIN조인?

테이블과 테이블을 연결해서 사용하는 기법

inner join (equal, 동등)

= 으로 묶는거

조건값이 정확이 일치할때만 행을 가져옴

AND를 이용해서 여러조건을 부여할수도 있다

첫 조인조건의 결과테이블과 2번째 조건을 비교 -> 결과값

outer join (외부)

조건에 부합하지않는 데이터도 모두 출력

(+)사용

없어도 결과를 표시하고싶은 (null값을 출력할)테이블에 표시

양쪽에는 사용불가

LEFT OUTER JOIN, RIGHT OUTER JOIN키워드로도 표현가능하다.

== RIGHT OUTER JOIN 예시

SELECT *

FROM employees A, departments B

where A.department_id (+) = B.department_id

동일

SELECT *

FROM employees A RIGHT OUTER JOIN departments B

ON(A.department_id = B.department_id )

== LEFT OUTER JOIN 예시

SELECT *

FROM employees A, departments B

where A.department_id = B.department_id (+)

동일

SELECT *

FROM employees A LEFT OUTER JOIN departments B

ON(A.department_id = B.department_id )

self join (자체)

자기자신을 조인하는거기때문에 무조건 별칭으로 구분해줘야됨

이건 사실 잘안쓰는거 같다...

집합연산자

종류설명집합종류
UNION조회결과의 합집합, 중복되는 행은 한번만합집합
UNION ALL조회결과의 합집합, 중복도 그대로 출력합집합
INTERSECT조회결과의 교집합, 중복만 출력교집합
MINUS첫번째결과에서 두번째를 뺀다차집합
  • SELECT 문 2개로 수행

    SELECT ~

    UNION, UNION ALL, INTERSECT, MINUS

    SELECT ~

  • 연산은 위에서 아래로 수행

  • MINUS는 첫번째 SELECT문에서 교집합을 뺀것과 결과가 같다.

profile
거북이는 오늘도 걷는다

0개의 댓글