서브쿼리를 사용하여 인라인 뷰를 생성하고 해당 뷰를 사용하는 예제를 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 |