[sql] 중첩 쿼리를 사용하여 조건에 따른 데이터 검색하기

예를 들어, 주문한 고객들 중에서 특정 지역에 거주하는 고객의 주문 내역을 검색해야 할 경우를 생각해보겠습니다. 이때 중첩 쿼리를 사용하여 특정 지역에 거주하는 고객의 ID를 먼저 가져온 후, 그 ID를 기준으로 해당 고객의 주문 내역을 검색할 수 있습니다.

아래는 고객 테이블과 주문 테이블이 있다고 가정하고, 중첩 쿼리를 사용하여 이를 구현한 예시입니다.

SELECT * 
FROM 주문 
WHERE 고객ID IN (SELECT ID FROM 고객 WHERE 거주지='서울');

위의 예시에서, (SELECT ID FROM 고객 WHERE 거주지='서울')는 중첩 쿼리로서, ‘서울’에 거주하는 고객의 ID를 선택합니다. 그리고 외부 쿼리에서는 이를 활용하여 해당 고객의 주문 내역을 가져옵니다.

중첩 쿼리를 사용하면 복잡한 데이터 검색 조건을 우아하게 처리할 수 있지만, 성능에 영향을 미칠 수 있으므로 신중하게 사용해야 합니다.