博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql优化小技巧
阅读量:7008 次
发布时间:2019-06-28

本文共 594 字,大约阅读时间需要 1 分钟。

hot3.png

select * from (select id,name,(select sum(score) from SCORES t2 where t2.studentid=t1.id) as totalscorefrom STUDENT t1group by id,nameorder by totalscore desc) t3where t3.rownum <=3学生表(student):id name class 科目表(subject):id  name成绩表:studentid  , subjectid  ,score   用Oracle 编写一个sql 查出学生的 id name 和分数(总成绩)取前三名学生select t1.id,t1.name,t3.totalscorefrom STUDENT t1,(select t2.studentid,sum(score) as totalscore from score t2 group by studentid order by totalscore desc)t3where t1.id = t3.studentidand rownum<=3;

将子查询放在from语句中只执行一次,比放在select语句中..效率高多了

转载于:https://my.oschina.net/u/1866821/blog/344984

你可能感兴趣的文章
无需SDK的统计工具,让哥赚了个iphone6
查看>>
没有做数据备份 网站随时毁于一旦
查看>>
Python学习笔记
查看>>
js中json与字符串转换小例子
查看>>
学习笔记-实验楼项目课(Linux桌面字典)
查看>>
Spring基础问答
查看>>
iOS8 相机拍照问题 Snapshotting a view
查看>>
comparable 接口的使用示例
查看>>
剑指Offer之重建二叉树(题6)
查看>>
strace-跟踪进程执行时的系统调用
查看>>
三个数找最大 1.0
查看>>
判断大端与小端
查看>>
计算机科学技术基础知识之多媒体知识
查看>>
如何禁用笔记本键盘
查看>>
第一次开博客,虽然有点晚了,用来鞭策激励一下自己,加油!
查看>>
4.4作业(变更管理+安全管理)
查看>>
(二)JSP语法详细介绍--指令元素
查看>>
python 数据库处理
查看>>
ORACLE 字符集问题
查看>>
我今天为了理想而开始了新的页面
查看>>