Scalar subquery
- SELECT절에 사용
- 결과는 하나의 column이어야 함
Inline view
- FROM절에 사용
- 메인쿼리에서는 inlien view에서 조회한 column만 사용이 가능
Nested subquery
- WHERE절에서 사용
- single row : 하나의 행을 검색
- 서브쿼리가 비교연산자와 사용되는 경우
- 서브쿼리의 검색 결과는 한 개 행의 결과값을 가져야 함
- multiple row : 하나 이상의 행을 검색
- WHERE절에 ‘IN’ 사용
- WHERE절에 ‘EXISTS’ 사용
- WHERE절에 ‘= ANY’ 사용
- WHERE절에 ‘= ALL’ 사용
- multiple column : 하나 이상의 열을 검색
- 서브쿼리 내에 메인쿼리 컬럼이 같이 사용되는 경우
👉 EXISTS :
- 결과로 TRUE, FALSE 를 반환하는 연산자
- 한 테이블이 다른 테이블과 외래키(FK)와 같은 관계인 경우 유용
- 조건에 해당하는 ROW의 존재 유무 이후 더 수행하지 않음
- 즉, 테이블 간의 결과를 어떤 값이 존재하는 지만 조회 할때 사용