반응형
- 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 |
댓글