>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 INNER JOIN을 사용하여 행을 올바르게 삭제하는 방법은 무엇입니까?

SQL Server에서 INNER JOIN을 사용하여 행을 올바르게 삭제하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-19 06:15:10654검색

How to Correctly Delete Rows Using INNER JOIN in SQL Server?

INNER JOIN을 사용하여 SQL Server에서 행을 삭제하는 올바른 방법

SQL Server에서 INNER JOIN을 사용하여 행을 삭제할 때 작업 실패를 유발할 수 있는 일반적인 실수를 피하십시오. 그러한 실수 중 하나는 삭제할 테이블의 명시적인 지정을 생략하는 것입니다.

오류 발생:

다음 코드를 실행할 때 다음 오류 메시지가 나타납니다.

<code class="language-sql">DELETE 
FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
WHERE Company = '1' 
    AND Date = '2013-05-06'</code>

오류 메시지는 다음과 같습니다.

메시지 156, 레벨 15, 상태 1, 라인 15
키워드 'INNER' 근처에 구문 오류가 있습니다.

해결책:

이 오류를 수정하려면 DELETE 작업으로 수정될 테이블을 명시적으로 식별해야 합니다. 이는 테이블에 별칭을 도입하여 달성할 수 있습니다. 수정된 코드는 다음과 같습니다.

<code class="language-sql">DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'</code>

이 업데이트된 코드에서는 "w"가 WorkRecord2 테이블의 별칭으로 사용됩니다. 이렇게 하면 DELETE 문이 올바른 테이블을 대상으로 행을 삭제할 수 있습니다.

위 내용은 SQL Server에서 INNER JOIN을 사용하여 행을 올바르게 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.