[sql] 서브쿼리의 개념과 활용 방법

서브쿼리는 SQL 문에서 다른 쿼리 내에 중첩된 쿼리를 의미합니다. 주로 WHERE 절, FROM 절, 또는 HAVING 절에서 사용되며, 데이터베이스에서 특정 정보를 찾거나 조작하는 데 활용됩니다.

서브쿼리의 종류

단일 행 서브쿼리

단일 행 서브쿼리는 한 번에 한 행만을 반환하는 서브쿼리입니다. 이는 ‘=’나 ‘!=’과 같은 비교 연산자와 함께 사용됩니다.

예시:

SELECT employee_name 
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

다중 행 서브쿼리

다중 행 서브쿼리는 여러 행을 반환할 수 있는 서브쿼리입니다. 이는 IN, ANY, ALL과 같은 비교 연산자와 함께 사용됩니다.

예시:

SELECT department_name 
FROM departments
WHERE department_id IN (SELECT department_id FROM employees WHERE salary > 5000);

스칼라 서브쿼리

스칼라 서브쿼리는 단일 행을 반환하지만, 다중 행을 처리할 수 있는 함수의 형태를 띈 서브쿼리입니다.

예시:

SELECT employee_name, 
       (SELECT MAX(salary) FROM employees) AS max_salary
FROM employees;

서브쿼리의 활용

서브쿼리는 복잡한 데이터 검색이나 필터링, 계산, 그룹화 등 다양한 상황에서 유용하게 활용됩니다. 또한 메인 쿼리의 결과에 따라 동적으로 서브쿼리의 조건을 변경할 수 있는 장점이 있습니다.

이러한 특성으로 인해 서브쿼리는 데이터베이스 개발 시 주로 사용되는 기술 중 하나로 자리 잡고 있습니다.

서브쿼리의 개념과 활용 방법에 대해 간단하게 살펴보았습니다. 추가적인 정보는 SQL 관련 문서 및 책을 통해 확인할 수 있습니다.