[sql] DELETE 문을 사용하여 테이블에 존재하는 모든 외래 키 레코드를 삭제하는 방법

때로는 데이터베이스 테이블에서 외래 키로 연결된 레코드를 모두 삭제해야 할 때가 있습니다. 이를 위해 SQL의 DELETE 문을 사용할 수 있습니다. DELETE 문을 사용하여 테이블에 존재하는 모든 외래 키 레코드를 삭제하는 방법을 알아보겠습니다.

단일 외래 키 컬럼이 있는 경우

  1. 우선 삭제하려는 테이블에 대한 DELETE 문을 작성합니다:
    DELETE FROM 테이블명
    
  2. WHERE 절을 사용하여 외래 키 레코드를 삭제할 조건을 지정합니다:
    WHERE 외래키컬럼 IS NOT NULL
    

    여기서 외래키컬럼은 실제 외래 키 컬럼의 이름으로 대체되어야 합니다.

  3. DELETE 문을 실행하여 외래 키 레코드를 테이블에서 삭제합니다.

복합 외래 키 컬럼이 있는 경우

  1. DELETE 문을 작성할 때 모든 외래 키 컬럼을 적용하고자 하는 테이블과 조인할 다른 테이블을 포함해야 합니다:
    DELETE 테이블명
    FROM 테이블명
    JOIN 다른테이블 ON 테이블명.외래키컬럼1 = 다른테이블.외래키컬럼1
    AND 테이블명.외래키컬럼2 = 다른테이블.외래키컬럼2
    

    여기서 외래키컬럼1, 외래키컬럼2는 실제 외래 키 컬럼의 이름으로 대체되어야 합니다.

  2. WHERE 절을 사용하여 삭제할 조건을 지정합니다:
    WHERE 테이블명.외래키컬럼1 IS NOT NULL
    AND 테이블명.외래키컬럼2 IS NOT NULL
    

    여기서 외래키컬럼1, 외래키컬럼2는 실제 외래 키 컬럼의 이름으로 대체되어야 합니다.

  3. DELETE 문을 실행하여 외래 키 레코드를 테이블에서 삭제합니다.

따라서, DELETE 문을 사용하여 테이블에 존재하는 모든 외래 키 레코드를 삭제하는 방법을 알아보았습니다. 이를 통해 데이터를 정리하거나 관리하는 데 유용하게 활용할 수 있습니다.


Reference