[sql] 중첩 쿼리를 사용하여 여러 테이블 간의 연관된 데이터 추출하기

관계형 데이터베이스 시스템에서 데이터를 추출할 때, 여러 테이블 간의 관계에 기반하여 정보가 필요한 경우가 종종 있습니다. 중첩 쿼리를 사용하면 이러한 상황에 효과적으로 대응할 수 있습니다. 중첩 쿼리란 하나의 SQL 쿼리 안에 다른 SQL 쿼리를 포함하는 것을 말합니다.

다음은 중첩 쿼리를 사용하여 두 개의 테이블 간의 연관된 데이터를 추출하는 예제입니다.

가정: ‘사용자 (users)’ 테이블과 ‘주문 (orders)’ 테이블이 있다고 가정합니다. ‘사용자’ 테이블에는 각 사용자의 ID와 이름이, ‘주문’ 테이블에는 주문 번호, 주문한 사용자의 ID, 주문일 및 주문 금액이 저장되어 있다고 가정합니다.

먼저, 각 주문의 사용자 이름을 가져오기 위해 ‘주문 (orders)’ 테이블과 ‘사용자 (users)’ 테이블을 연결하는 쿼리를 작성해 보겠습니다.

SELECT order_number, 
       (SELECT name FROM users WHERE users.id = orders.user_id) AS user_name,
       order_date, 
       order_amount
FROM orders;

위 쿼리에서는 ‘주문 (orders)’ 테이블의 각 행에 대해, 해당 주문을 하는 사용자의 이름을 사용자 테이블에서 가져오기 위해 중첩 쿼리가 사용되었습니다.

이와 같은 방식으로 중첩 쿼리를 사용하여 여러 테이블 간의 연관된 데이터를 추출할 수 있습니다.

이상으로 중첩 쿼리를 사용하여 여러 테이블 간의 연관된 데이터를 추출하는 방법에 대해 알아보았습니다.