서브쿼리

채종윤·2023년 8월 24일
0

서브쿼리란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다.

1)단일행 서브쿼리 사용

사원들의 평균 급여보다 많이 받는 사원들의 이름,급여를 조회

2) 다중 행 서브쿼리

IN: 목록에 있는 임의의 값과 동일하면 참
ANY: 서브쿼리에서 반환된 각각의 값과 비교하여 하나라도 참이면 참
ALL: 서브쿼리에서 반환된 모든 값과 비교하여 모두 참이면 참

연산자는 한개의 값만 비교하기 때문에 오류가뜸
여러개개의 값이 포함되는지 알아보려면 IN을 써야됨

ALL: 가장 큰것보다 큰 값의 행
ANY : 아무거나 만족하면 되니 가장 작은것보다 큰 값의 행

3) FROM절 서브쿼리

가상의 테이블이 만들어짐

부서별 평균 급여보다 더 많은 급여를 받는사람

select employee_id, salary,(select avg(salary) from employees)
from employee e
where salary >  (select avg(salary) from employees);

평균급여 가상의 테이블을 만들고 조인하기 때문에 연산횟수가 위에 코드보다 줄어듦.

4) TOP-N서브쿼리

profile
안녕하세요. 백앤드 개발자를 목표로 하고 있습니다!

0개의 댓글