집 >데이터 베이스 >MySQL 튜토리얼 >두 SQL 테이블 간의 불일치를 어떻게 식별할 수 있습니까?
SQL 테이블을 비교하여 데이터 차이점 찾기
두 SQL Server 테이블 간의 데이터 일관성을 보장하려면 각각 고유한 행을 식별해야 합니다. 그러면 불일치와 누락된 데이터가 강조표시됩니다. SQL 쿼리를 사용하여 이를 수행하는 방법은 다음과 같습니다.
한 가지 접근 방식은 EXCEPT
연산자를 사용합니다.
(SELECT * FROM table1 EXCEPT SELECT * FROM table2)
이 쿼리는 table1
에는 있지만 table2
에는 없는 행을 표시합니다. table2
에 고유한 행을 찾으려면 테이블 이름을 바꾸면 됩니다.
(SELECT * FROM table2 EXCEPT SELECT * FROM table1)
두 테이블의 모든 고유 행을 결합하여 보려면 UNION ALL
:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
테이블에 NULL 값이 없으면 NOT EXISTS
을 사용하는 더 효율적인 방법이 있습니다. 이 예에서는 table1
:table2
에 없는
<code class="language-sql">SELECT * FROM table1 WHERE NOT EXISTS ( SELECT * FROM table2 WHERE table2.column1 = table1.column1 )</code>
table1
, table2
및 column1
를 실제 테이블 및 열 이름으로 바꿔야 합니다. 귀하의 데이터와 요구 사항에 가장 적합한 방법을 선택하세요.
위 내용은 두 SQL 테이블 간의 불일치를 어떻게 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!