본문 바로가기

Database/Oracle

서브쿼리

- 동적인 결과를 얻어야 하는 경우 / 구절의 순서를 바꿔야 하는 경우

--()안을 먼저 실행

 

SELECT * FROM

 (SELECT * FROM MEMBERS ORDER BY NAME DESC)

WHERE ROWNUM BETWEEN 1 AND 10

 

- 서브쿼리가 격자형 데이터를 반환하는 경우 : FROM 절에 사용

 

SELECT * FROM

 (SELECT * FROM MEMBERS ORDER BY NAME DESC)

WHERE ROWNUM BETWEEN 1 AND 10

 

- 서브쿼리가 단일 값을 반환하는 경우 : 비교연산에 사용

--동적인 값과 비교

 

SELECT * FROM MEMBERS

WHERE AGE > (SELECT AVG(AGE) FROM MEMBERS)

 

- 서브쿼리가 목록을 반환하는 경우 : 목록형 연산에 사용

 

SELECT * FROM MEMBERS WHERE AGE IN

 (SELECT AVG(AGE) FROM MEMBERS GROUP BY ADDRESS)

'Database > Oracle' 카테고리의 다른 글

SEQUENCE TABLE  (0) 2017.02.23
집계 함수  (0) 2017.02.23
JOIN  (0) 2017.02.23
기타 함수  (0) 2017.02.23
NULL 관련 함수  (0) 2017.02.23