[sql] DELETE 문을 사용하여 테이블의 특정 개수 이상의 레코드 삭제 방법

SQL의 DELETE 문을 사용하여 테이블에서 특정 개수 이상의 레코드를 삭제하려면 다음과 같은 방법을 사용할 수 있습니다.

1. DELETE 문을 사용하여 조건에 맞는 레코드 삭제하기

DELETE FROM 테이블명
WHERE 조건;

위의 DELETE 문에서 테이블명을 삭제하려는 테이블의 이름으로 대체하고, 조건에는 삭제하려는 레코드를 선택하기 위한 조건을 작성합니다.

예를 들어, sales 테이블에서 quantity 컬럼 값이 100 이상인 레코드를 삭제하려면 다음과 같이 작성할 수 있습니다.

DELETE FROM sales
WHERE quantity >= 100;

위의 DELETE 문은 sales 테이블에서 quantity 값이 100 이상인 레코드를 삭제합니다.

2. DELETE 문에 LIMIT 절 추가하기

DELETE FROM 테이블명
WHERE 조건
LIMIT 삭제할_레코드_개수;

위의 DELETE 문에서 삭제할_레코드_개수에는 삭제하려는 레코드의 최대 개수를 지정합니다.

예를 들어, orders 테이블에서 status 컬럼 값이 ‘cancelled’인 레코드 중에서 최대 10개의 레코드를 삭제하려면 다음과 같이 작성할 수 있습니다.

DELETE FROM orders
WHERE status = 'cancelled'
LIMIT 10;

위의 DELETE 문은 orders 테이블에서 status 값이 ‘cancelled’인 레코드 중에서 최대 10개의 레코드를 삭제합니다.

주의 사항

DELETE 문을 사용하여 레코드를 삭제할 때는 주의해야 합니다. 삭제되는 레코드는 복구할 수 없으므로, 신중하게 사용해야 합니다. 또한, DELETE 문을 사용하기 전에 데이터베이스의 백업을 수행하는 것이 좋습니다.

참고 자료