guangzhanzb 2017-03-11 04:26 采纳率: 66.7%
浏览 1713

求SQL语句分析的书籍推荐,例如下面这个例子

刚刚看了一个写SQL的题,题目是假设有如下表
图片说明
求出每个部门(deptno)sal排名前三的员工。
我自己写的是

SELECT e1.deptno, e1.ename, e1.sal 
FROM EMP e1 
LEFT JOIN EMP e2 
  ON e2.deptno = e1.deptno 
WHERE e2.sal >= e1.sal 
GROUP BY e1.ENAME 
HAVING COUNT(1) <=3;
ORDER BY e1.deptno, e1.sal DESC;

但是看到网上有人写的是

SELECT deptno, ename, sal    
FROM emp e1   
WHERE    
   (
    SELECT count(1)   
    FROM emp e2   
    WHERE e2.deptno=e1.deptno AND e2.sal>=e1.sal
   ) <=3
ORDER BY deptno, sal DESC;

讲真,网上写的那个我看不太懂,而且有关二者的性能我也完全不会分析。因此想要问问有没有解决我困惑的书呢?也不知道怎么描述就干脆说成SQL执行分析相关的书籍。想来书里会写笛卡尔乘积什么的。

  • 写回答

2条回答 默认 最新

  • WT_119 2017-03-11 06:03
    关注

    《SQL Server 2008 技术内幕》 希望有帮助

    评论

报告相同问题?

悬赏问题

  • ¥15 怎么获取下面的: glove_word2id.json和 glove_numpy.npy 这两个文件
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug