首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 如何查询两个表中不相同的数据

2013-07-09 
SQL 怎么查询两个表中不相同的数据A表名称容量价格百事可乐250ml1.5可口可乐250ml1.6雪碧250ml1.3百事可乐

SQL 怎么查询两个表中不相同的数据


A表

名称        容量     价格
百事可乐    250ml     1.5
可口可乐    250ml     1.6  
雪碧        250ml     1.3  
百事可乐    1L         4.5
怡宝        350ML     1
·······

B表

名称        容量     价格
百事可乐    250ml     1.5
可口可乐    250ml     1.6  
芬达        250ml     1.3  
百事可乐    1.5L      5.0
雪碧        250ml     1.3
·······

表出两个表名称和量不相同的数据

结果是
怡宝        350ML     1
芬达        250ml     1.3  
百事可乐    1.5L      5.0
·······
[解决办法]

select distinct *
from (select * from A union all select * from B) T

[解决办法]
SELECT *
FROM A
WHERE NOT EXISTS(SELECT 1 FROM B where A.名称=b.名称 AND A.容量=B.容量)
UNION ALL
SELECT *
FROM B
WHERE NOT EXISTS(SELECT 1 FROM A where A.名称=b.名称 AND A.容量=B.容量)

/*
名称容量价格
百事可乐1L4.5
怡宝350ML1.0
芬达250ml1.3
百事可乐1.5L5.0*/

热点排行