본문 바로가기
MySql

MySQL mysql의 두 테이블 간의 차이점 비교

by 베이스 공부 2020. 9. 19.
반응형


레이아웃이 동일하지만 다른 데이터를 포함 할 수있는 두 개의 테이블 t1과 t2가 있다고 가정합니다.

이 두 테이블을 비교하는 가장 좋은 방법은 무엇입니까?

좀 더 정확하게 말하자면, t1의 한 행의 데이터가 t2의 해당 행의 데이터와 다른지 알려주는 간단한 SQL 쿼리를 알아 내려고합니다.

교차도 빼기도 사용할 수없는 것 같습니다. 내가 시도 할 때

SELECT * FROM robot intersect SELECT * FROM tbd_robot

오류 코드가 나타납니다.

[오류 코드 : 1064, SQL 상태 : 42000] SQL에 오류가 있습니다. syntax; check the manual that corresponds to your MySQL server version 1 행에서 'SELECT * FROM tbd_robot'근처에서 사용할 올바른 구문

구문 적으로 잘못된 일을하고 있습니까? 그렇지 않은 경우 사용할 수있는 다른 쿼리가 있습니까?

편집 : 또한 무료 버전 DbVisualizer를 통해 쿼리하고 있습니다. 그것이 요인인지 확실하지 않습니다.

 

해결 방법

 

INTERSECT MySQL 에서 에뮬레이션되어야합니다.

SELECT  'robot' AS `set`, r.*
FROM    robot r
WHERE   ROW(r.col1, r.col2, …) NOT IN
        (
        SELECT  col1, col2, ...
        FROM    tbd_robot
        )
UNION ALL
SELECT  'tbd_robot' AS `set`, t.*
FROM    tbd_robot t
WHERE   ROW(t.col1, t.col2, …) NOT IN
        (
        SELECT  col1, col2, ...
        FROM    robot
        )

 

참조 페이지 https://stackoverflow.com/questions/950414

 

 

반응형

댓글