刪除重複行後的邏輯是什麼? 我知道這是用於刪除重複行的查詢。刪除重複行後的邏輯?
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消除的那個)
我的疑問是如果這兩個結合我得到確切的表沒有重複這是爲什麼?
謝謝你,吉布斯是有幫助的。你的意思是相關的子查詢作爲循環。即它將處理每一行直到循環終止而沒有行? – Chay
有一個循環,但外部查詢('from tvsemp e')控制它:在外部查詢中爲每一行調用子查詢。很難解釋。我在答案中給出的鏈接有一些可能有用的例子。 –
ok沒有問題會通過文檔一次。謝謝 – Chay