반응형
어느 정도 데이터베이스 입문을 끝냈을 때 (ER 모델, RDB와 논리적 설계, 관계대수와 관계해석 파트까지), 드디어 실무에서 가장 많이 쓰일 수 있다고 생각되는 SQL 내용이 등장하기 시작한다.
많은 SQL 영역 중에서도 검색 분야의 중첩 질의에 대해 다뤄보고자 한다.
중첩 질의
중첩 질의는 다음과 같은 의미로 사용된다.
- SELECT문 (주 질의)의 WHERE 절 내에 새로운 SELECT문 (하위 질의)를 포함하는 질의
하위 질의는 주 질의의 WHERE절에서 레코드 검색 조건과 함께 사용된다.
간단하게 예를 살펴보자
예) 'Research' 부서의 사원 수 검색
이때 부서의 사원수를 검색하기 위해서 where 절에 하위 질의로 또다른 SELECT문이 등장하여 조건을 충족시켰다.
물론 join으로도 원하는 결과를 가져올 수 있지만, '하위 질의' 개념을 설명하기 위한 예제임을 알아두자.
여기서 주목해야할 부분은 SELECT문이 where 절의 하위질의로 등장했다는 부분도 있지만, 근본적으로 SELECT 문이 return하는 형태에 주목할 필요가 있다.
SELECT 문의 결과값은 크게 TABLE이라고 볼 수 있다.
질의하면 질의에 걸리는 값을 조회하고 보여준다.
다만, 지금처럼 WHERE 절에서 비교 연산자(=, >, <, >=, <=, <> 등)와 사용 될 때는 반환값의 유형이 단일 값, 즉 scalar 일 필요가 있다.
하지만 FROM절에 등장하는 하위 질의는 스칼라 값에만 국한되지 않는다는 점 참고하길 바란다.
반응형
'SQL' 카테고리의 다른 글
[SQL] 프로그래머스 특정 물고기를 잡은 총 수 구하기 - 조인 & 상관중첩질의 (0) | 2024.03.25 |
---|---|
[SQL] 중첩 질의 - 상관 중첩 질의와 존재 연산자 EXISTS (3) (0) | 2024.03.21 |
[SQL] 검색 - 목록 검색 연산자와 중첩 질의 Nested Query (2) (0) | 2024.03.20 |
[SQL] 조건에 부합하는 중고거래 댓글 조회 (프로그래머스) (0) | 2024.03.18 |