반응형
레이아웃이 동일하지만 다른 데이터를 포함 할 수있는 두 개의 테이블 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
반응형
'MySql' 카테고리의 다른 글
MySQL trigger/procedure execution delay (0) | 2020.09.19 |
---|---|
MySQL Adding constraints in phpMyAdmin (0) | 2020.09.19 |
MySQL java.math.BigInteger는 java.lang.Integer로 캐스트 될 수 없습니다. (0) | 2020.09.19 |
MySQL mysql select ONLY duplicate records from database (0) | 2020.09.19 |
MySQL Return Last ID (IDENTITY) On Insert row VB.NET MySQL (0) | 2020.09.18 |
댓글