😀 Language/- SQL
[보충공부] 서브쿼리(Subquery)
또방91
2021. 11. 9. 11:07
728x90
1. 서브쿼리(Subquery)란?
SQL문 내에 다시 SELECT문을 사용하는 것이다.
<종류>
1) 인라인뷰(Inline view) : FROM구 ( SELECT문) 사용
2) 스칼라서브쿼리(Scala Subquery): SELECT문에 (SELECT문) 사용
3) 서브쿼리(Subquery): WHERE구에 ( SELECT문 )사용
2. 서브쿼리 분류
반환행에 따라 단일행 / 다중행
1) 단일행 서브쿼리
: 서브쿼리를 실행하면 그 결과는 반드시 한 행만 조회된다.
: 단일 행 비교 연산자는 =, <, <=, >, >=, <> 사용
2) 다중행 서브쿼리
: 서브쿼리를 실행하면 그 결과는 여러개 행 조회된다.
: 다중 행 비교 연산자는 IN, ANY, ALL, EXISTS 사용
① IN : 결과 여러 행 중 최소 1개만 동일하면 참 (or조건)
② ANY : 결과 여러 행 중 하나이상 동일하면 참(<ANY: 하나라도 크면 참, >ANY: 하나라도 작으면 참)
③ ALL : 메인쿼리와 서브쿼리 결과가 모두 동일하면 참(<ALL: 최솟값, >ALL: 최댓값)
④ EXISTS : 결과 여러 행 중 어떤 데이터 존재하기만 하면 참 (결과는 참/거짓으로 출력)
**스칼라 서브쿼리: 반드시 한 행과 한 칼럼만 반환하는 서브쿼리임. 여러 행 반환하면 오류발생
728x90