[sql] DELETE 문을 사용하여 테이블에서 중복된 레코드 삭제하는 방법

데이터베이스 테이블에서 중복된 레코드를 삭제하는 것은 중요한 작업입니다. SQL에서는 DELETE문을 사용하여 중복된 레코드를 효율적으로 제거할 수 있습니다. 아래의 단계를 따라 진행해보겠습니다.

  1. 중복된 레코드를 확인하고자 하는 테이블을 선택합니다.
  2. 중복된 레코드를 식별하기 위한 기준 열(column) 또는 조합된 열을 선택합니다. 일반적으로는 모든 열이 동일해야 중복으로 간주됩니다.
  3. DELETE문을 사용하여 중복된 레코드를 삭제합니다.

다음은 예제로 중복된 레코드를 삭제하는 방법을 보여드리겠습니다.

DELETE FROM 테이블명
WHERE 기준열 IN (
    SELECT 기준열
    FROM 테이블명
    GROUP BY 기준열
    HAVING COUNT(기준열) > 1
);

위의 코드에서 테이블명은 중복된 레코드를 삭제하려는 테이블의 이름으로 대체해야 합니다. 기준열은 중복된 레코드를 식별하기 위한 열의 이름이며, 이를 조합하여 중복 여부를 판단할 수도 있습니다.

이 코드는 하위 쿼리(subquery)를 사용하여 중복된 레코드를 식별하고, DELETE문을 통해 해당하는 레코드를 삭제합니다. 중복된 레코드 중에서 가장 처음 나타나는 레코드는 남기고, 나머지 중복된 레코드들은 모두 삭제됩니다.

중복된 레코드를 식별하여 삭제하는 방법에 대한 설명이었습니다. SQL 문법에 익숙하지 않은 경우에는 참조 가이드나 문서를 참고하여 더 자세한 정보를 확인하시기 바랍니다. ```