DB/Oracle

[서브쿼리] 단일행 서브쿼리

각시탈코더 2022. 2. 14. 15:42

단일행 서브쿼리

단일행 서브쿼리는 실행 결과가 단 하나의 행으로 나오는 서브쿼리다. 단일행 서브쿼리는 단일행 연산자를 사용하여 비교한다. 

 

단일행 연산자

> >= = <= < <> ^= !=
초과 이상 같음 이하 미만 같지않음 같지않음 같지않음

 

단일행 서브쿼리와 날짜형 데이터

 단일행 서브쿼리는 서브쿼리 결과 값이 날짜(DATE) 자료형일 때도 사용할 수 있다.  예를 들어 EMP테이블에서 SCOTT보다 빨리 입사한 사원 목록을 조회하려면 다음과 같이 서브쿼리를 활용한 SELECT문을 작성할 수 있다.

 

 

SELECT *
FROM EMP
WHERE HIREDATE < (SELECT HIREDATE
		  FROM EMP
                  WHERE ENAME = 'SCOTT');

 

 

 

 

 

 

 

단일형 서브쿼리와 함수

서브쿼리에서 특정 함수를 사용한 결과 값이 하나일 떄 단일행 서브쿼리로서 사용가능하다. 예를 들어 20번 부서에 속한 사원 중 전체 사원의 평균 급여보다 높은 급여를 받는 사원 정보와 소속 부서 정보를 함께 조회해보자.

 

 

SELECT E.EMPNO, E.ENAME, E.JOB, E.SAL, D.DEPTNO, D.DNAME, D.LOC
FROM   EMP E, DEPT D
WHERE  E.DEPTNO = D.DEPTNO
 AND   E.DEPTNO = 20
 AND   E.SAL > (SELECT AVG(SAL) FROM EMP);

 

 


출처:Do it! 오라클로 배우는 데이터베이스 입문(저자:이지훈 출판사:이지스퍼블리싱)