[sql] 중첩 쿼리를 사용하여 데이터베이스 테이블 조작하기
중첩 쿼리는 하나의 쿼리 안에 또 다른 쿼리를 포함하는 방법을 말합니다. 이를 활용하면 한 번의 쿼리 실행으로 복잡한 조건을 가진 데이터를 처리할 수 있습니다.
중첩 쿼리 기본 구조
SELECT * FROM 테이블명 WHERE 조건 IN (SELECT * FROM 또다른테이블 WHERE 조건);
위의 예시에서 SELECT * FROM 또다른테이블 WHERE 조건
부분이 중첩 쿼리에 해당합니다. 주 쿼리에서는 중첩 쿼리의 결과를 활용하여 작업을 수행합니다.
중첩 쿼리 활용 예시
가령, 주문
테이블과 고객
테이블이 있다고 가정해 봅시다. 주문
테이블에서 특정 고객이 한 주문한 내역을 조회하고 싶을 때, 중첩 쿼리를 사용할 수 있습니다.
SELECT *
FROM 주문
WHERE 고객ID IN (SELECT 고객ID FROM 고객 WHERE 이름 = '홍길동');
위의 예시에서는 고객 테이블에서 이름이 ‘홍길동’인 고객의 ID를 조회한 후, 해당 ID로 주문 테이블을 다시 조회하는 방식으로 원하는 결과를 얻을 수 있습니다.
중첩 쿼리를 사용하면 하나의 쿼리만으로 여러 테이블 간의 조작을 수행할 수 있어 효율적이며 간결한 코드를 작성할 수 있습니다.
마무리
중첩 쿼리를 사용하면 데이터베이스 테이블을 보다 효과적으로 다룰 수 있습니다. 하지만 중첩 쿼리가 고성능 쿼리가 아니기 때문에 적절하게 활용해야 합니다. 어떤 상황에서 중첩 쿼리를 사용할지에 대해 신중히 판단한 후 적절히 활용하는 것이 중요합니다.