[sql] 중첩 쿼리를 사용하여 데이터 수정 및 삭제

관계형 데이터베이스에서 중첩 쿼리는 다양한 기능을 수행하는데 유용합니다. 중첩 쿼리를 사용하여 데이터를 수정하거나 삭제하는 방법에 대해 알아보겠습니다.

데이터 수정하기

중첩 쿼리를 사용하여 특정 조건을 만족하는 데이터를 수정할 수 있습니다. 예를 들어, products 테이블에서 특정 카테고리에 속하는 모든 제품의 가격을 10% 인상하고 싶다고 가정해봅시다. 이때 다음과 같은 SQL 쿼리를 사용할 수 있습니다.

UPDATE products 
SET price = price * 1.1 
WHERE category_id IN (SELECT id FROM categories WHERE name = 'Electronics');

위의 쿼리에서는 categories 테이블에서 ‘Electronics’ 카테고리의 ID를 조회하여, 해당 카테고리에 속하는 제품들의 가격을 10% 올리는 작업을 수행하고 있습니다.

데이터 삭제하기

중첩 쿼리를 사용하여 특정 조건을 만족하는 데이터를 삭제할 수도 있습니다. 예를 들어, orders 테이블에서 최근에 생성된 주문 중에서 특정 상품이 포함된 주문을 삭제하고 싶다고 가정해봅시다. 이때 다음과 같은 SQL 쿼리를 사용할 수 있습니다.

DELETE FROM orders 
WHERE order_id IN (SELECT id FROM order_items WHERE product_id = '특정 상품 ID');

위의 쿼리에서는 order_items 테이블에서 특정 상품이 포함된 주문의 ID를 조회하여, 해당 주문들을 삭제하는 작업을 수행하고 있습니다.

결과

중첩 쿼리를 사용하여 데이터를 수정하거나 삭제할 수 있으며, 이를 통해 복잡한 데이터 조작 작업을 효과적으로 수행할 수 있습니다.

이상으로 중첩 쿼리를 활용한 데이터 수정 및 삭제에 대해 알아보았습니다.


참고 자료: