SQL

Sub Query

hyungminjeon 2024. 6. 3. 22:01

[서브쿼리란]

SQL 서브쿼리는 하나의 SQL 쿼리 내에 포함된 또 다른 쿼리이다. 서브쿼리는 주로 복잡한 쿼리에서 특정 데이터를 추출하기 위해 사용되며, 메인 쿼리의 일부로써 사용된다.서브쿼리는 SELECT, INSERT, UPDATE, DELETE 문에 사용되며, 다양한 방식으로 데이터를 처리하는데 유용하다. 

 

[예제]

단일 행 서브쿼리 (Single-row subquery): 하나의 행을 반환하는 서브쿼리이다. 주로 WHERE 절에 사용되며, 단일 값과 비교할 때 유용하다.

 

SELECT name 
FROM employees 
WHERE department_id = (SELECT department_id 
                       FROM departments 
                       WHERE name = 'Sales');

다중 행 서브쿼리 (Multi-row subquery): 여러 행을 반환하는 서브쿼리이다. IN, ANY, ALL 연산자와 함께 사용된다.

SELECT name 
FROM employees 
WHERE department_id IN (SELECT department_id 
                        FROM departments 
                        WHERE location_id = 1700);

 

[정리 및 새롭게 알게 된 점]

서브쿼리는 쿼리를 더 구조적으로 만들고, 복잡한 데이터 검색을 더 효율적으로 할 수 있게 해준다. 각 서브쿼리는 독립적으로 실행되며, 메인 쿼리와 결합하여 보다 명확한 논리를 구성할 수 있다. 1)여러번의 연산을 수행해야 할 때,  2)조건문에 연산 결과를 사용해야 할 때,  3)조건에 Query 결과를 사용하고 싶을 때 서브쿼리를 사용하면 복잡한 계산을 나눠 논리적으로 이해하기 쉬운 Query를 작성할 수 있다.