Equal_
2015-05-06 16:29
采纳率: 21.1%
浏览 1.7k

这两个查询哪个SQL效率高一些???

--第一个
SELECT emp.* FROM emp,(SELECT AVG(sal) s,emp.deptno FROM emp,dept WHERE emp.deptno=dept.deptno GROUP BY emp.deptno)a
WHERE emp.deptno=a.deptno AND emp.sal>a.s;

--第二个
SELECT * FROM emp a WHERE a.sal>(SELECT AVG(sal) FROM emp b WHERE a.deptno = b.deptno);

第一个是我自己写的,第二个是官方的。第二个我觉得对于平均工资的求职每次都要计算一次,第一个我是直接取出来了一个副表,这样我的平均值只取了一次,我自认为代码比较复杂,但是对于计算机运行,效率上因该提高了。

你们是怎么看的????

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 大河行脚 2015-05-07 00:55
    已采纳

    你用一个图形化管理工具执行一下,一般都有显示执行时间的,哪个执行的时间少哪个执行的效率就高,这个还需要讨论研究的,看看不就知道了吗?

    如果回答对您有帮助,请采纳

    评论
    解决 无用
    打赏 举报
查看更多回答(4条)

相关推荐 更多相似问题