[DB] 서브쿼리

HR·2022년 10월 16일
0

DataBase

목록 보기
2/4

서브쿼리

다른 쿼리 내부에 포함되어 있는 SELECT 문을 의미한다. 서브쿼리를 포함하고 있는 쿼리를 외부쿼리(outer query), 서브쿼리는 내부쿼리(inner query)라고도 부른다.

서브쿼리는 반드시 괄호로 감싸져 있어야만 한다.

단일 행 서브쿼리 단일 행 비교 연산자(=, ≤, ≥, <,>, <>)와 함게 사용할 때는 서브쿼리의 결과 건수가 반드시 1건 이하이다.

다중 행 서브쿼리 서브쿼리의 결과가 2건 이상 반환된다면 다중 행 비교 연산자(IN, ALL, ANY, SOME)와 함께 사용해야 한다.

다중 행 연산자설명
IN서브쿼리의 결과에 존재하는 임의의 값과 동일한 조건을 의미한다. (Multiple OR 조건)
ALL서브쿼리의 결과에 존재하는 모든 값을 만족하는 조건을 의미한다. 비교 연산자로 >를 사용했다면 메인쿼리는 서브쿼리의 모든 결과 값을 만족해야 하므로, 서브쿼리 결과의 최대값보다 큰 모든 건이 조건을 만족한다.
ANY서브쿼리의 결과에 존재하는 어느 하나의 값이라도 만족하는 조건을 의미한다. 비교 연산자로 >를 사용했따면 메인쿼리는 서브쿼리의 값들 중 어떤 값이라도 만족하면 되므로, 서브쿼리의 결과의 최소값보다 큰 모든 건이 조건을 만족한다.
EXISTS서브쿼리의 결과를 만족하는 값이 존재하는 여부를 확인하는 조건을 의미한다. 조건을 만족하는 건이 여러 건이라도 1건만 찾으면 더 이상 검색하지 않는다.
profile
Hello World :D

0개의 댓글