删除重复行背后的逻辑是什么?我知道这是用于删除重复行的查询。
delete from tvsemp e where rowid>(select min(rowid) from tvsemp m where e.ename=m.ename);
在这里,当我首先划分子查询时,select min(m.rowid) from tvsemp e, tvsemp m where e.ename=m.ename;
然后我得到结果,因为 rowid 是
MIN(M.ROWID)
___________________
AAAEDUAABAAAKiqAAP
然后对于外部查询select ename from tvsemp emp where rowid>'AAAEDUAABAAAKiqAAP'
但是为此我得到了 n-1 个结果(除了我使用 '>' sin 消除的结果)
我的疑问是,如果将这两者结合起来,我会得到没有重复的精确表格,这是为什么?