[sql] 스칼라 서브쿼리의 개념 및 기능
스칼라 서브쿼리는 SQL 쿼리의 중첩된 형태로, 외부 쿼리의 결과에 의존하는 내부 쿼리를 의미합니다. 스칼라 서브쿼리는 단일 행 혹은 단일 열의 값을 반환하며, 외부 쿼리의 조건절에서 사용될 수 있습니다.
스칼라 서브쿼리의 기능
스칼라 서브쿼리를 사용하면 다음과 같은 기능을 구현할 수 있습니다:
- 비교 연산자 활용: 외부 쿼리의 조건에서 내부 쿼리의 결과를 비교하는 데 사용됩니다.
- 더미 열 생성: 서브쿼리를 사용하여 추가적인 정보를 가져와서 새로운 열을 생성할 수 있습니다.
- 중첩 집계 함수: 서브쿼리를 통해 여러 그룹의 결과를 비교하거나 필터링할 수 있습니다.
예를 들어, 아래와 같은 스칼라 서브쿼리를 사용할 수 있습니다:
SELECT employee_id,
last_name,
salary
FROM employees
WHERE salary > (SELECT AVG(salary)
FROM employees);
위의 예시에서, AVG(salary)
는 외부 쿼리의 조건에서 내부 쿼리의 결과를 비교하는 스칼라 서브쿼리의 예시입니다.
스칼라 서브쿼리를 사용하면 복잡한 조인이나 임시 테이블 생성 없이 원하는 결과를 얻을 수 있으며, 간결하고 가독성이 좋은 쿼리를 작성할 수 있습니다.
결론
스칼라 서브쿼리는 SQL 쿼리의 강력한 기능 중 하나로, 외부 쿼리에 의존하는 내부 쿼리를 활용하여 복잡한 조건을 간결하게 표현할 수 있게 해줍니다. 이를 통해 데이터를 효율적으로 필터링하고 원하는 결과를 추출하는 데 도움이 됩니다.
관련 참고 자료: MySQL 공식 문서