반응형
09. SQL문 속 또 다른 SQL문, 서브쿼리
09-1. 서브쿼리
[서브쿼리란?]
SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에 사용하는 SELECT문.
- JONES보다 급여가 높은 사원 조회하기
[서브쿼리의 특징]
- 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며, 괄호 ()로 묶어 사용.
- 특수한 경우를 제외한 대부분의 서브쿼리에서는 ORDER BY 사용 불가능.
- 서브쿼리의 SELECT절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야 함.
- 서브쿼리에 있는 SELECT문의 결과 행 수는 함께 사용하는 메인쿼리의 연산자 종류와 호환 가능해야 함.
[서브쿼리의 종류와 사용]
- WHERE절 뒤에서
- 단일 행 서브쿼리
- 다중 행 서브쿼리
- 다중 열 서브쿼리
- FROM절 뒤에서
- 인라인 뷰
- SELECT 절에서
- 스칼라 서브쿼리
09-2. 실행 결과가 하나인 단일행 서브쿼리
- 단일행 서브쿼리: 실행 결과가 단 하나의 행으로 나오는 서브쿼리.
- 서브쿼리에서 출력되는 결과가 하나이므로, 메인쿼리와 서브쿼리 결과는 단일행 연산자(>, >=, =, <=, <, !=)를 사용하여 비교함.
[단일행 서브쿼리와 날짜형 데이터]
- SCOTT보다 빨리 입사한 사원 목록 조회하기
[단일행 서브쿼리와 함수]
- 20번 부서에 속한 사원 중, 전체 사원의 평균 급여보다 높은 급여를 받는 사원 정보 및 소속 부서 정보 함께 출력하기
반응형
'빅데이터 > Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문' 카테고리의 다른 글
서브쿼리 | 다중열 서브쿼리 / FROM절 서브쿼리(인라인뷰)와 WITH절 / SELECT절 서브쿼리(스칼라 서브쿼리) (0) | 2023.03.03 |
---|---|
서브쿼리 | 다중행 서브쿼리 / 다중행 연산자 (IN / ANY, SOME / ALL / EXISTS) (0) | 2023.03.02 |
[오라클로 배우는 데이터베이스 입문 | 08장 여러 테이블을 하나의 테이블처럼 사용하는 조인] 문제 풀이 (p239) (0) | 2023.02.28 |
조인 | SQL-99 조인 (NATURAL JOIN / JOIN ~ USING / JOIN ~ ON / OUTER JOIN) (0) | 2023.02.27 |
조인 | 조인의 종류 (등가 조인 / 비등가 조인 / 자체 조인 / 외부 조인) (0) | 2023.02.26 |