【问题标题】:How to compare two MySQL tables and print the difference between it? [duplicate]如何比较两个 MySQL 表并打印它们之间的差异? [复制]
【发布时间】:2014-09-24 04:28:03
【问题描述】:

我有两个表,“list1”和“list2”,字段为“id (PRIMARY A-I)”、“name”、“url”。每天,人们都会生成一个包含数千个名称和 URL 的新列表,我将其放在“list2”表中。但是当他们这样做时,我需要显示表格上没有重复的名称和网址,这可能吗?

我正在使用 txt 文件“list1.txt”和“list2.txt”进行此操作,并与纯 PHP 进行比较,但我认为 MySQL 可以运行得更快。

那么,如何比较 MySQL 上的两个表,显示它们之间的区别?

使用 txt 文件的列表示例

list1.txt

Maria:http://www.google.com.br
João:http://www.yahoo.com.br
Francisco:http://www.uol.com.br
Natália:http://www.terra.com.br

list2.txt

Maria:http://www.google.com.br
João:http://www.yahoo.com.br
Joana:http://www.facebook.com
Carlos:http://www.gvt.com.br
Natália:http://www.terra.com.br

【问题讨论】:

  • 往右看下Related,有很多相关链接>>> 这个比如stackoverflow.com/a/14403985
  • @JayBlanchard 太多了,不知道选哪一个。
  • 不,但这并没有解决我的问题,这就是我问一个新问题的原因,因为如果 list1 有 1000 个名称和 url,而 list2 有 1200 个,当然新的 200 注册表不存在在 list1 上,我需要知道这 1000 个(首先出现在 list1 上)是否仍然出现在 list2 上,即使有了新的 list2 注册表,然后 list2 变成 list1,并且这条循环每天都会重复。

标签: php mysql sql


【解决方案1】:
SELECT COLUMN1 FROM List1 WHERE COLUMN1 NOT IN (SELECT COLUMN1 FROM List2) 
UNION 
SELECT COLUMN1 FROM List2 WHERE COLUMN1 NOT IN (SELECT COLUMN1 FROM List1)

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2019-05-15
    • 2013-12-30
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    相关资源
    最近更新 更多