日期:2014-05-17  浏览次数:20516 次

问条简单的查询语句,谢谢
在一个数据库里有两张表 tb1, tb2; tb1表中有一个"铸件号"的字段,共有141个,该铸件号不重复 ;tb2中也有一个"铸件号"的字段,共有140条记录,该铸件号不重复; 也就是说tb1中有1个铸件号是tb2中没有的,请问怎么写语句能查询出这个tb2中没有的铸件号, 两个表中其他的字段不管;  假如两个表中tb1,tb2中 分别存在重复的铸件号呢 又如何找出两个表里"铸件号"不是共同有的数据呢
gg

------解决方案--------------------
select * 
from (
select 铸件号
from tb1
except
select 铸件号
from tb2)a
union 
select *
from (
select 铸件号
from tb2
except
select 铸件号
from tb1)b
------解决方案--------------------
引用:
--2005及以上版本
select 铸件号
from tb1
except
select 铸件号
from tb2

--2000
select *
from tb1 a
where not exists (select 1 from tb2 b where a. 铸件号=b. 铸件号)
原来2005以上版本是这样