国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - sql 找出2個數(shù)據(jù)庫的差異表名

瀏覽:130日期:2022-06-22 09:26:52

問題描述

同一個數(shù)據(jù)庫,本地51張表和遠程49張表,有差異數(shù)據(jù)表。如何通過一條SQL來快速找出這些表的名字。

SQL:

USE performance_schema;SELECT t1.OBJECT_SCHEMA,t1.OBJECT_NAME,t2.OBJECT_SCHEMA,t2.OBJECT_NAMEFROM `table_io_waits_summary_by_table` t1 RIGHT JOIN `table_io_waits_summary_by_table` t2 ON t1.OBJECT_NAME = t2.OBJECT_NAMEWHERE t1.OBJECT_SCHEMA=’db1_local’ AND t2.OBJECT_SCHEMA=’db2_remote’;

結(jié)果集只有49張,無法羅列出差異的表明。使用了 LEFT OUTER JOIN 還是一樣。

驗證是存在差異的:

SELECT OBJECT_NAMEFROM table_io_waits_summary_by_table WHERE OBJECT_SCHEMA=’db1_local’ AND OBJECT_NAME NOT IN (SELECT OBJECT_NAME FROM table_io_waits_summary_by_table WHERE OBJECT_SCHEMA=’db2_remote’ )

問題解答

回答1:

試試這個:

USE performance_schema;SELECT t1.*FROM `table_io_waits_summary_by_table` t1 LEFT JOIN `table_io_waits_summary_by_table` t2 ON t1.OBJECT_NAME = t2.OBJECT_NAME AND t2.OBJECT_SCHEMA=’db2_remote’WHERE t1.OBJECT_SCHEMA=’db1_local’ AND t2.OBJECT_NAME IS NULL;

其實你的第一個SQL只要將對t2的限制提到連接條件中就行了,將t2.OBJECT_SCHEMA=’db2_remote’寫在where條件里面RIGHT JOIN就變成了INNER JOIN ~

相關(guān)文章:
主站蜘蛛池模板: 庆阳市| 宝鸡市| 微山县| 白水县| 永仁县| 扎赉特旗| 灵武市| 三河市| 宜春市| 论坛| 丽江市| 昌都县| 新营市| 彩票| 万源市| 乐山市| 宜春市| 榆中县| 额济纳旗| 同江市| 江北区| 灵宝市| 元氏县| 阆中市| 中西区| 临高县| 灵武市| 蒙自县| 公安县| 自贡市| 娄底市| 福清市| 齐河县| 富阳市| 射阳县| 石嘴山市| 普定县| 禹城市| 阳山县| 韶山市| 临汾市|