oracle一个表table中的Id有多个记录,查询出有两条以上记录的id号(给出至少两种写法)

oracle一个表table中的Id有多个记录,查询出有两条以上记录的id号(给出至少两种写法)最好能说明下两种写法的效率差距

第1个回答  2018-03-23
第一种写法:
select id from table名称 group by id having count(id) > 1;
第二种写法:
select id from table名称 minus select id from table名称 group by id having count(id) = 1;
第一种写法效率比较高,因为一次检索就将最终所要的结果集全部获得。第二种写法是将两次检索结果的结果集做差运算,最终得出所要的结果集。与第一种写法相比,多做了一次检索,并且还要进行差运算。本回答被提问者和网友采纳