서브쿼리(subquery)는 SQL 문장 내에서 다른 SQL 문장을 포함하여 실행하는 방법입니다. 서브쿼리는 주로 SELECT, INSERT, UPDATE, DELETE 문에서 사용되며, 특히 데이터 조인 시 많이 활용됩니다.
서브쿼리를 사용하여 데이터를 조인하는 방법에 대해 살펴보겠습니다.
1. 서브쿼리를 활용한 INNER JOIN
서브쿼리를 사용하여 INNER JOIN을 수행할 수 있습니다. 예를 들어, 두 개의 테이블에서 일치하는 데이터를 가져올 때 서브쿼리를 사용할 수 있습니다.
SELECT column1, column2
FROM table1
INNER JOIN (
SELECT id, column3
FROM table2
) AS subquery
ON table1.id = subquery.id;
위 예제에서는 table1
과 table2
두 테이블을 INNER JOIN하면서, 서브쿼리를 활용하여 table2
의 일부 열을 선택한 후 조인하고 있습니다.
2. 서브쿼리를 활용한 WHERE 절에서의 데이터 필터링
서브쿼리를 사용하여 WHERE 절에서 데이터를 필터링하는 데에도 활용할 수 있습니다. 예를 들어, 특정 조건에 맞는 데이터를 검색하거나 조회할 때 서브쿼리를 사용할 수 있습니다.
SELECT column1, column2
FROM table1
WHERE id IN (
SELECT id
FROM table2
WHERE condition = 'value'
);
위 예제에서는 table1
에서 table2
의 특정 조건을 만족하는 id
값을 가진 데이터만을 조회하고 있습니다.
3. 서브쿼리를 활용한 INSERT 문에서의 데이터 삽입
서브쿼리는 INSERT 문에서도 데이터를 삽입할 때 활용할 수 있습니다. 다른 테이블의 데이터를 기반으로 새로운 테이블에 데이터를 추가하는 등 다양한 활용이 가능합니다.
INSERT INTO table1 (column1, column2)
SELECT column3, column4
FROM table2
WHERE condition = 'value';
위 예제에서는 table2
의 특정 조건을 만족하는 데이터를 선택하여 table1
에 추가하는 INSERT 문을 수행하고 있습니다.
서브쿼리를 사용하여 데이터 조인을 수행하는 방법에 대해 간략하게 알아보았습니다. 서브쿼리를 적절히 활용하면 보다 복잡한 데이터 처리 작업을 수월하게 할 수 있습니다.