일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jQuery
- 부트스트랩
- 답변형 게시판
- HTTP Status 404
- JavaScript
- rownum
- tomcat
- CRUD
- SQL
- 성적프로그램
- github
- 과정평가형
- Bootstrap
- 이클립스
- 모조칼럼
- Java
- JSP
- HTML
- oracle
- git
- Oracle DB
- ||
- group by
- sql developer
- 제약조건
- alias
- Oracle SQL
- 한글 인코딩
- distinct
- HTTP Status 500
초급의 끄적거림
[SQL] 서브쿼리 (Sub Query) 본문
[서브쿼리]
⊙ 개념 : 쿼리문 안에 또 다른 쿼리문이 오는 것 (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 |