Apache Derby의 고급 쿼리 기능
1. 뷰(View) 생성
Derby에서는 CREATE VIEW
문을 사용하여 뷰를 생성할 수 있습니다. 뷰는 쿼리 결과를 가상의 테이블로 만들어주는 개념입니다. 뷰를 생성하여 복잡한 쿼리를 단순화하고, 특정 조건에 맞는 데이터를 선택적으로 조회할 수 있습니다.
예를 들어, 아래와 같이 employee
테이블에서 department
가 “IT”인 사원들만 조회하는 뷰를 생성할 수 있습니다.
CREATE VIEW it_employees AS
SELECT * FROM employee WHERE department = 'IT';
2. 조인(JOIN) 사용
Derby에서는 다양한 조인 기능을 활용할 수 있습니다. 조인은 두 개 이상의 테이블을 연결하여 데이터를 결합하는 기능입니다. INNER JOIN
, LEFT JOIN
, RIGHT JOIN
등 다양한 조인 유형을 지원합니다.
예를 들어, 아래와 같이 employee
테이블과 department
테이블을 조인하여 사원의 부서 정보를 조회할 수 있습니다.
SELECT employee.name, department.name
FROM employee
INNER JOIN department ON employee.department_id = department.id;
3. 집계 함수 사용
Derby에서는 다양한 집계 함수를 지원하여 데이터의 통계적인 정보를 계산할 수 있습니다. COUNT
, SUM
, AVG
, MAX
, MIN
등의 집계 함수를 활용하여 데이터베이스에서 필요한 정보를 추출할 수 있습니다.
예를 들어, 아래와 같이 employee
테이블의 사원 수를 계산할 수 있습니다.
SELECT COUNT(*) FROM employee;
위와 같은 방식으로 해당 테이블의 평균 연봉, 최고 연봉 등 다양한 통계 정보를 계산할 수 있습니다.
4. 서브쿼리 사용
Derby에서는 서브쿼리를 사용하여 한 쿼리의 결과를 다른 쿼리에서 사용할 수 있습니다. 서브쿼리는 주로 IN
, NOT IN
, EXISTS
, NOT EXISTS
등의 조건문에서 자주 사용됩니다.
예를 들어, 아래와 같이 employee
테이블에서 해당 부서에 속한 사원들의 수를 조회하는 쿼리를 작성할 수 있습니다.
SELECT department.name,
(SELECT COUNT(*) FROM employee WHERE employee.department_id = department.id) AS employee_count
FROM department;
이를 통해 각 부서에 속한 사원들의 수를 확인할 수 있습니다.
Apache Derby를 사용하여 데이터베이스에서 고급 쿼리 기능을 활용하는 방법에 대해 알아보았습니다. Derby의 다양한 기능을 적용하여 복잡한 데이터를 효과적으로 조회하고 분석할 수 있습니다.