• 서브쿼리를 사용하는 경우
    1. 구절의 순서를 바꿔야 하는 경우
      SELECT * FROM MEMBER WHERE ROWNUM BETWEEN 1 AND 10
      

      -> 최신 등록순으로 정렬한 결과에서 상위 열명을 원하는 경우라면 ?

      SELECT * FROM MEMBER ORDER BY REGDATE DESC
      WHERE ROWNUM BETWEEN 1 AND 10
      

      -> 에러가 발생한다.

SELECT * 
FROM (SELECT * FROM MEMBER ORDER BY REGDATE DESC)
WHERE ROWNUM BETWEEN 1 AND 5;

-> 소괄호가 서브쿼리를 나타내는 중요 포인트이다. 소괄호는 먼저계산하겠다는 뜻이다.

EX) 나이가 평균나이 이상인 회원 목록을 조회하시오.

SELECT * FROM MEMBER
WHERE AGE >= (SELECT AVG(AGE) FROM MEMBER)

서브쿼리는 순서를 바꾸거나 먼저 계산해서 결과를 가지고 다음꺼를 사용할때 서브쿼리를 사용한다.

댓글남기기