Programming/Postgres DB
[PostgresDB-2] 20. 서브쿼리와 IN, ALL, ANY (SUBQUERY)
midnightcoder
2022. 12. 29. 15:01
Filtering을 위한 Subquery에 대한 내용이다.
이전 posting에서 WHERE 절 Subqery는 그결과가 단일값 (single value) 또는 단일 column( many rows, con column N*1 )만 가능하다고 했다. 아래 예시를 살펴보자.
- IN : 포함 여부를 검사
만약, Sub query가 단일 column A B C를 가지고 있다면, grade가 A,B,C 안에 있는 학생만 Filter한다.
- ALL : 모두를 만족하는 것을 찾아줌
만약, Sub query가 단일 column 80, 72, 68을 가지고 왔다면, 이것을 가지고 비교연산을 ALL과 함께 진행하는데
그결과, 수학점수가 이 세가지 값보다 큰 학생만 Filter 해준다.
- ANY : 하나라도 만족하면 된다.
Sub query가 단일 column 80, 72, 68을 가지고 왔다면, main query에서는 비교연산을 통해서
이들 중 하나만이라도 수학점수가 작은것을 가져온다.
출처 : 홍팍의 'SQL 데이터 분석, 활용!'