본문 바로가기
백엔드/SQLD

조인

by 1005ptr 2020. 11. 26.
반응형
  • A INNER JOIN B
    • 짧게 쓰면 JOIN

  • A LEFT OUTER JOIN B
    • 짧게 쓰면 LEFT JOIN
    • 오라클에서는 A.V1 = B.V1(+)

  • A LEFT OUTER JOIN B WHERE B IS NULL

  • A RIGHT OUTER JOIN B
    • 짧게 쓰면 RIGHT JOIN
    • 오라클에서는 A.V1(+) = B.V1

 

  • A RIGHT OUTER JOIN B WHERE A IS NULL

  • A FULL OUTER JOIN B
    • 오라클 : A.V1(+) = B.V1(+)

  • A FULL OUTER JOIN B WHERE A IS NULL OR B IS NULL
    • 각자 자기만 갖고 있는 값
    • INNER JOIN은 A,B 둘 다 값이 있는것

  • A CROSS JOIN B
    • 카테시안 곱(CARTESIAN PRODUCT)
    • A X B 라서 CROSS다.
    • A가 4개고 B가 3개면 결과는 12개가 나온다.
    • JOIN 조건이 없는 조인이다.
  • NON EQUAL JOIN
    • 조인할 떄 =을 써서 하는게 EQUAL JOIN
    • 등가 조인이 아닌 경우 CROSS 조인 이후에 해당 조건을 적용한다고 생각
    • 하나 하나 전수 검사를 하기 때문이다.
  • OUTER JOIN
    • Outer Join을 사용하는 경우, 모든 조건에 (+)연산자를 사용해야 한다.
    • (+)의 의미는 (+)이 붙으면 조건을 만족하지 않아도 통과시키고 값은 NULL로 처리
    • A.V1(+) = B.V1 했으면 A.V2 = 10 조건이 있는 경우 A.V2(+) = 10로 써줘야 의도한대로 결과가 나온다.
      • 사실 이렇게 하지 말고 A를 서브쿼리로 만들고 조건을 그안에 집어넣으면 고민할 필요 없다.
반응형

'백엔드 > SQLD' 카테고리의 다른 글

외워야되는 명령어, 함수  (0) 2020.11.26
정규화  (0) 2020.11.26
NULL과 관련된 규칙들  (0) 2020.11.25
외울거 정리  (0) 2020.11.25
TOP, ROWNUM  (0) 2020.11.23

댓글