<서브쿼리 - 다중열>
-
여러 개의 컬럼을 검색하는 서브 쿼리
1
2
3
|
SELECT [DISTINCT] 컬럼, 컬럼...
FROM 테이블
WHERE (컬럼1, 컬럼2,...) IN (SELECT 컬럼1, 컬럼2,... FROM 테이블);
|
cs |
-
first_name이 'Bruce'인 직원의 manager_id와 job_id가 같은 직원들을 조회. 단 first_name이 Bruce인 직원 정보는 제외 (first_name이 Bruce인 직원의 manager_id는 103, job_id는 IT_PROG)
1
2
3
4
5
6
|
SELECT employee_id, first_name, job_id, salary, manager_id
FROM employees
WHERE (manager_id, job_id) IN (SELECT manager_id, job_id
FROM employees
WHERE first_name='Bruce')
AND first_name <> 'Bruce';
|
cs |
-
부서별로 최소 급여를 받는 사원의 부서번호, 사원번호, 이름 급여 정보 검색
1
2
3
4
5
6
7
8
|
SELECT department_id 부서번호, employee_id 사원번호,
last_name 이름, salary 급여
FROM employees
WHERE (department_id, salary) IN
(SELECT department_id, MIN(salary)
FROM employees
GROUP BY department_id)
ORDER BY department_id;
|
cs |
<서브쿼리 - 다중열 예제>
-
employees 테이블에서 job_id별로 가장 낮은 salary가 얼마인지 찾아보고, 찾아낸 job_id별 salary에 해당하는 직원의 first_name, job_id, salary, department_id를 출력 (salary 내림차순 정렬)
1
2
3
4
5
6
7
|
SELECT first_name, job_id, salary, department_id
FROM employees
WHERE (job_id, salary) IN
(SELECT job_id, MIN(salary)
FROM employees
GROUP BY job_id)
ORDER BY salary DESC;
|
cs |
'Learning > SQL' 카테고리의 다른 글
트랜잭션 (0) | 2020.06.19 |
---|---|
집합연산자 (UNION, INTERSECT, MINUS) (0) | 2020.06.18 |
서브쿼리 - 다중행 (0) | 2020.06.18 |
서브쿼리 - 단일행 (0) | 2020.06.18 |
조인 (JOIN) - 리뷰 및 예제 (0) | 2020.06.18 |