色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

mysql - SQL識別兩張表不同數(shù)據(jù)

瀏覽:113日期:2022-06-13 09:00:19

問題描述

有兩張1W行左右的表,需要查詢有差異的行,現(xiàn)在的代碼如下:

SELECT number, versionFROM ( SELECT a.number, b.version FROM a UNION ALL SELECT b.number, b.version FROM b) tbGROUP BY number, versionHAVING COUNT(*) = 1ORDER BY number

但是問題來了,以上代碼只能查詢出不同的行,但是沒法顯示a表中有的b表中沒有的,b表中有的a表中沒有的,有沒有辦法可以在第3列標(biāo)識出來?

問題解答

回答1:

按樓主意思,單表中number和version是不會重復(fù)的,兩張表的number和version建一個復(fù)合索引,然后執(zhí)行以下sql

SELECT a.number, a.version,’from_a’FROM awhere not exists (SELECT 1 FROM b where a.number=b.number and a.version=b.version)union allSELECT b.number, b.version,’from_b’FROM bwhere not exists (SELECT 1 FROM a where a.number=b.number and a.version=b.version)ORDER BY number;或者SELECT a.number, a.version,’from_a’from a left join b on a.number=b.number and a.version=b.versionwhere b.id is nullunion allSELECT b.number, b.version,’from_b’from a right join b on a.number=b.number and a.version=b.versionwhere a.id is nullORDER BY number;下面這個效率可能會差點回答2:

試試full join ... where a is null or b is null。比如用Postgres:

select case when a.n is null then b.n else a.n end as n, case when a.n is null then b.v else a.v end as v, case when a.n is null then ’b’ else ’a’ end as srcfrom (values(1, 2), (2, 3), (3, 4)) as a(n, v) full join (values(6, 7), (2, 3), (3, 9)) as b(n, v) using (n, v)where a.n is null or b.n is null

結(jié)果:

n | v | src---+---+----- 1 | 2 | a 3 | 4 | a 3 | 9 | b 6 | 7 | b(4 行記錄)

相關(guān)文章:
主站蜘蛛池模板: 亚洲成a人一区二区三区 | 成人午夜精品久久不卡 | 欧美高清性刺激毛片 | 久久精品中文字幕一区 | 欧美xxxx在线视频 | 久久99国产亚洲高清观看韩国 | 日韩精品视频一区二区三区 | 狼人久久尹人香蕉尹人 | 九九爱精品 | 美女视频免费黄的 | 欧美日韩国产亚洲一区二区 | 狠狠色狠狠色狠狠五月ady | 欧美日韩亚洲综合另类ac | 久久高清免费视频 | 国产三a级日本三级日产三级 | 成人午夜视频在线观 | 中国性猛交xxxxx免费看 | 美女黄色免费在线观看 | 久久精品女人毛片国产 | 国产精品毛片无码 | 国产精品_国产精品_国产精品 | a级片在线免费观看 | 欧美性狂猛bbbbbbxxxxxx | 91久久亚洲最新一本 | 久久人视频 | 成年人在线观看视频网站 | 黄网在线观看免费网站台湾swag | 99精品视频一区在线观看miya | 中文字幕在线观看一区二区 | 日韩一区国产二区欧美三区 | 亚洲美女视频在线 | 久久久国产99久久国产一 | 久草国产在线 | 国产真真人女人特级毛片 | 国产一区不卡 | 久久亚洲国产精品五月天 | 国内自产拍自a免费毛片 | 国产精品网站 夜色 | 99精品福利视频在线一区 | 国产成人久久精品一区二区三区 | 亚洲视频在线观看视频 |