oracle的查询出多条重复数据,实际上数据库并没有重复的数据

原因:
毫无疑问,查询语句的where条件写错了(是的,我本人,没错了),检查关联两个表的字段是否是外键(有关外键),这里我就是犯傻了,用了非外键进行关联,导致无法正确关联两个表进行操作
tb_source表:
在这里插入图片描述
tb_collect 表:

在这里插入图片描述

原sql语句:

select t1.* from tb_source t1, tb_collect t2 
where t1.source_name = 'lttest5' and t1.source_name = t2.collect_name
and t1.source_id != 169 

结果:
oracle的查询出多条重复数据,实际上数据库并没有重复的数据_第1张图片
正确的sql语句:

//将原用于关联的字段source_name改成外键source_id
select t1.* from tb_source t1, tb_collect t2 
where t1.source_name = 'lttest5' and t1.source_id = t2.collect_source
and t1.source_id != 169 

oracle的查询出多条重复数据,实际上数据库并没有重复的数据_第2张图片

你可能感兴趣的:(SQL)