초급의 끄적거림

[SQL] 서브쿼리 (Sub Query) 본문

DB/Oracle

[SQL] 서브쿼리 (Sub Query)

codingD 2019. 7. 23. 21:10

[서브쿼리]

⊙ 개념 : 쿼리문 안에 또 다른 쿼리문이 오는 것 (SQL문 안에 포함된  SQL문 형태의 사용 기법)

⊙ 용도 : 알려지지 않은 기준을 위한 검색을 위해 사용

⊙ 괄호를 잘 만들어 주면 됨

⊙ 예제

 

문1) emp 테이블에서 월급을 가장 많이 받는 사원정보를 조회하시오

select * from emp

where sal=(select max(sal) from emp);

 

문2) 평균급여보다 많은 급여를 받는 직원의 이름, 부서코드, 급여를 조회하시오

① select avg(sal) from emp;   - 평균급여

 

select ename, deptno, sal

from emp

where sal>(select avg(sal) from emp);

 

문3)  부서코드 10의 최고급여보다 더 많은 급여를 받는 직원목록을 조회하시오

 ① select max(sal) from emp

     where deptno=10;   - 부서코드 10

 

select * from emp

where sal> (select max(sal)

 from emp where deptno=10); 

 

문4) 손흥민과 같은 입사일에 입사한 사람들 중에 박지성보다 급여를 적게 받는 사람의 이름, 급여, 입사일을 조회하시오

① select hiredate from emp

where ename='손흥민';   - '손흥민'이라는 이름을 가진 자의 입사일

② select sal from emp where ename='박지성'; - '박지성'의 급여

 

select ename, sal, hiredate from emp

where hiredate=(select hiredate from emp where ename='손흥민') 

         and sal<(select sal from emp where ename='박지성);         

 → and를 사용하여 두 가지 조건을 모두 성립하는 것을 찾아야함

 

 

 

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

[SQL] Index  (0) 2019.07.24
[SQL] View  (0) 2019.07.23
[SQL] group 외 예제  (0) 2019.07.23
[SQL] 함수  (0) 2019.07.22
[SQL] 활용 연습 문제  (1) 2019.07.22
Comments