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
'😀 Language > - SQL' 카테고리의 다른 글
[보충공부] 집계 함수 (0) | 2021.11.16 |
---|---|
[SQLD] 오늘의 공부_기출문제 32회 오답 및 리마인드 문제 정리 (0) | 2021.11.16 |
[SQLD] 21.11.08 공부_39회 최신기출문제 풀기(2) 19~50번 (0) | 2021.11.08 |
[SQLD] 21.11.05 공부_39회 최신기출문제 풀기(1) 1~18번 (0) | 2021.11.04 |
[SQLD] 오늘의 공부_이기적 이론&단원정리문제 다시풀기 (0) | 2021.11.04 |