EXISTS : 조건에 해당하는 ROW의 존재 유무와 체크 후 더이상 수행하지 않음.
-> SELECT 절을 평가하지 않으므로 일반적으로 IN에 비해 성능이 좋다.
IN : 조건에 해당하는 ROW의 컬럼을 비교하여 체크한다.
-> SELECT 절에서 조회한 컬럼 값으로 비교하므로 EXISTS에 비해 성능이 떨어진다.
EXISTS : 메인 쿼리의 결과값을 서브 쿼리에 대입하여 조건 비교 후 결과를 출력한다. ( 메인쿼리 -> EXISTS 쿼리 )
IN : 서브 쿼리의 결과값을 메인 쿼리에 대입하여 조건 비교 후 결과를 출력한다. ( IN쿼리 -> 메인 쿼리 )