

我在使用DB2 OS/390 7.1.1。我的问题是如何找出在图表A中存在,而在图表B中不存在的数据呢?我已经试过NOT EXISTS子句,但没有成功。
发表于04年10月7日
如果你在两个图表里都有一个主键,答案应是这样的:
SELECT *
FROM TableA A
WHERE A.KEY NOT IN (SELECT B.KEY FROM TableB B);
当然,如果你没有能比较两个图表的键,那你必须想出如何检查是否有重叠的行,以及对你问题的影响。换句话说,如果你在图表A有四个完全重叠的行,在图表B有两个完全重叠的行,那么这是否是一个相称(即没有差别)或者你是否希望返回四个行中的两个呢? 如果情况相反呢(图表A有两个完全重叠的行,在图表B有四个完全重叠的行)?
如果完全没有键,你希望比较图表A和图表B的每一列吗?这可以通过写一个一次性的程序来得到更快的答案。