본문 바로가기
IT/Database

[Oracle] 세미 조인(Semi Join), 안티 조인(Anti Join)

by 성준하이 2023. 11. 29.
반응형

 

세미조인(Semi Join)

세미조인은 두 테이블 간의 일치하는 행을 찾는 조인이다.
일반적으로 우리가 알고 사용하는 조인들과 함께 사용이 된다.

주로 서브쿼리나 Exists 연산자를 사용하여 구현을 하고 일치하는 행이있다면 왼쪽 테이블에 해당하는 행만 반환한다.

참고 포스팅에 Exists 와 In에 대한 내용을 참고하면 세미조인이 이해 갈것이다.

(일반 outer join이나 inner join 이 아니라 서브쿼리로 조인하는법)

 

 

안티조인(Anti Join)

안티조인은 두 테이블 간에 일치하지 않는 행을 반환하는 조인이다.
즉, 왼쪽 테이블의 행 중에서 오른쪽 테이블과 일치하지 않는 것들을 선택한다.

세미 조인은 equals 조건이지만 안티는 Not equals, Not Exists 등의 연산으로 조인하여 결과를 나타낸다.

 


참고 포스팅

https://thenicesj.tistory.com/479

 

[Oracle] EXISTS, NOT EXISTS

결론을 먼저 말하면 EXISTS(서브 쿼리)는 서브 쿼리의 결과가 "한 건이라도 존재하면" TRUE 없으면 FALSE를 리턴한다. EXISTS는 서브 쿼리에 일치하는 결과가 한 건이라도 있으면 쿼리를 더 이상 수행하

thenicesj.tistory.com

 

반응형

댓글