서브쿼리란 ?


다른 select 문의 절에 삽입된 select 문으로서 서브 쿼리를 사용하면 간단한 구문들로 다양한 기능을 제공하는 명령문을 작성할 수 있습니다. 

서브쿼리는 테이블 자체에 테이블에 종속된 조건을 사용해 테이블에서 행을 선택할 때 유용해요. 

서브쿼리는 where절 having절 from절에서 사용 가능해요.

 

기본적인 서브쿼리 사용문

select 검색하려는 대상 from 테이블 where 조건 (select 검색하려는 대상 from 테이블); 

 

예제 1)

select last_name -- last_name을 검색 from employees -- employees라는 테이블에서 where salary > (select salary from employees where last_name = 'Abel'); -- salary가 'Abel'이라는 사원의 급여를 확인하고 그보다 많으면 출력

 

예제 2)

select last_name, job_id, salary -- 각각의 항목을 검색한다. from employees -- employees 테이블에서 where job_id = (select job_id from employees where employee_id = 141) -- employee_id가 141인 job_id를 검색 and salary > (select salary from employees where employee_id = 143); -- employee_id가 143인 사람의 salary를 검색

 

예제 3)

select last_name, job_id, salary from employees where salary = (select min(salary) from employees); -- 그룹함수도 사용가능 합니다. 

 

예제 4)

 select department_id, min(salary) from employees group by department_id having min(salary) > (select min(salary) from employees where department_id = 50); -- having절도 마찬가지 

 

 

 

'SQL > mysql' 카테고리의 다른 글

뷰 (view)  (0) 2017.09.07
인덱스 (index)  (0) 2017.09.07
NULL & 별칭 정하기  (0) 2017.09.05
산술 연산자 및 연산순위  (0) 2017.09.05
mysql 문의 작성 요령  (0) 2017.09.05