DB || DAY10 || SELF JOIN, 서브쿼리
1. SELF JOIN
- JOIN을 활용하여 같은 테이블에서 데이터를 추출함.
- 하나의 테이블에 두개의 단축어를 지정하여 마치 다른 테이블에서 데이터를 추출하는 것과 같은 효과를 낼 수 있다.
SELECT e1.employee_id, e1.last_name, e2.last_name
FROM employees e1 JOIN employees e2
ON e1.employee_id = e2.manager_id ;
2. 서브쿼리
- 쿼리문 안에 또 쿼리문이 들어있는 구문형식.
- GROUP BY절과 함께 쓰지 않는다.
SELECT department_id, min(salary)
FROM employees
GROUP BY department_id
HAVING MIN(salary) > ( SELECT MIN(salary)
FROM employees
WHERE department_id = 50 );
# Inline View
: FROM절에 작성된 서브쿼리를 일컫는다.
SELECT a.last_name, a.salary, a.department_id, b.salavg
FROM employees a JOIN ( SELECT department_id, AVG(salary) as salavg
FROM employees
GROUP BY department_id ) b
ON a.department_id = b.department_id
WHERE a.salary > b.salavg ;
// 자신이 속한 부서의 평균급여보다 급여가 많은 사원의 정보가 출력된다.
'개발자 양성과정 필기노트 > DB | ORACLE' 카테고리의 다른 글
제약조건 (0) | 2021.09.13 |
---|---|
테이블 복사, INSERT, UPDATE, DELETE, 트랜잭션 , 치환변수 (0) | 2021.09.13 |
그룹함수 , GROUP BY절, HAVING절 (0) | 2021.09.07 |
단일행 함수 (0) | 2021.08.25 |
WHERE절 문법 (0) | 2021.08.25 |
댓글