공부 자료/SQL
[26일차] 서브쿼리. 원하는 데이터 추출하기
희희웃는청바지
2023. 1. 26. 00:50
- select절의 서브쿼리는 서브쿼리가 select절로 확장되었다고 해서 스칼라 서브쿼리라고 하며, 스칼라 서브쿼리는 출력되는 행수만큼 반복되어 실행됨
- over함수는 쿼리 결과 집합 내의 윈도우 또는 사용자 지정 행 집합을 정의
- partition by는 특정 열을 기준으로 데이터를 나누며, partition by를 지정하지 않으면 쿼리 결과 집합의 모든 행이 단일 그룹으로 취급됨
SELECT a.*
, (SELECT sum(salary) as 전체급여 from employees) as 전체급여
, (SELECT round(avg(salary)) as 평균급여1 from employees) as 평균급여1
, round((SELECT avg(salary) as 평균급여2 from employees)) as 평균급여2
, sum(salary) over(partition by department_id) as 전체급여2
, (SELECT department_name FROM departments b where a.department_id = b.department_id) 부서명
FROM employees a;