본문 바로가기
Big Data/Database

서브쿼리를 이용한 뷰 생성 및 사용 예제

by Wikinist 2023. 7. 26.

서브쿼리를 사용하여 인라인 뷰를 생성하고 해당 뷰를 사용하는 예제를 MySQL 문법을 기준으로 작성하겠습니다.
예제 데이터로 사용할 "employees" 테이블은 다음과 같습니다:

employees table:

| emp_id | emp_name | department | salary |
|--------|----------|------------|-------|
| 1      | Alice    | HR         | 3000  |
| 2      | Bob      | IT         | 4000  |
| 3      | Carol    | Sales      | 3500  |
| 4      | David    | IT         | 3200  |


서브쿼리 인라인뷰 생성

인라인뷰를 생성하기 위해 아래와 같은 SQL 문을 사용합니다.

CREATE VIEW department_view AS
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;

위 SQL 문은 "employees" 테이블을 "department" 컬럼으로 그룹화하여 각 부서별 평균 급여를 계산하여 "department_view"라는 뷰를 생성합니다.

생성한 뷰 사용하기

뷰를 생성했으니 해당 뷰를 쿼리하여 결과를 얻을 수 있습니다.

-- department_view 뷰를 사용하여 부서별 평균 급여 조회
SELECT * FROM department_view;


위 쿼리는 "department_view" 뷰를 사용하여 각 부서별 평균 급여를 조회하는 예제입니다. 예상되는 결과는 다음과 같습니다.

| department | avg_salary |
|------------|------------|
| HR         | 3000       |
| IT         | 3600       |
| Sales      | 3500       |

위 결과에서 볼 수 있듯이, "department_view" 뷰를 통해 각 부서별 평균 급여를 손쉽게 얻을 수 있습니다. 이렇게 뷰를 사용하면 복잡한 쿼리를 단순화하고, 특정 데이터에 대한 일반적인 집계나 필터링 등을 미리 정의하여 재사용할 수 있어 유용합니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > Database' 카테고리의 다른 글

DATA_ADD 함수  (0) 2023.07.26
공통 테이블 표현식(CTE)  (0) 2023.07.26
GROUP BY와 ROLL UP  (0) 2023.07.26
NULL 처리 함수  (0) 2023.07.26
NULL과 연산  (0) 2023.07.26