如何通过SQL找出2个表里值不同的列的方法
1个回答
展开全部
问题中列2有空值,空值不能直接参与比较,所以比较的时候先转换成一个特殊的值,然后再进行比较。下列语句是,当列2的是空值时,转换成一个空格。
查询列1中的值不同于列2值的记录:
select * from 表 where 列1 not in (select nvl(列2,‘ ’) from 表);
查询列2中的值不同于列1值的记录:
select * from 表 where nvl(列2,‘ ’) not in (select 列1 from 表);
查询列1中的值不同于列2值的记录:
select * from 表 where 列1 not in (select nvl(列2,‘ ’) from 表);
查询列2中的值不同于列1值的记录:
select * from 表 where nvl(列2,‘ ’) not in (select 列1 from 表);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询