很久没写过博客了,有点惭愧,水平有限,写不出好东西来,加上人也懒。

干开发很多年,今天突然知道点小技巧,对于高手来说,也许是很小儿科的一个东西。虽然有点汗......但是还是决定写出来记录一下,对自己能加强一下记忆,当然也希望能帮助一些和我一样还需要进步的朋友。

今天做需求的同事今天告诉,所某个页面需要得按神马属性来排序,意思就是我做的页面需要改进一下,加一个要排序,简单一想,加一个order by 就可以了。但是,在原来的sql 句中select 的字段,并不包含那个排序字段。这样就有点小麻烦了,还得加一个关联表。过了一会,自己突然想到,在sql语句的order by 中可以不可以支持子查询了。就是这样写SQL语句

select * from table1 t order by (select name from table2 where id = t.wid)

如果支持,修改起来就简单多了。于是赶紧去试一下,真的可以哦,现在的用环境是oracle,估计Sqlserver应该也是可以的,手头没有SQL环境,无法测试。

写SQL语句都很多年了,才知道原来可以这么写,好惭愧..........

其实像上面的简单的SQL,要不要这么写,也没什么,因为换个写法也不复杂,但是如果在SQL语句有 group by 之类复杂语句就麻烦了。比如

select xmid,dwid,sum(mcount)  from table1 t where 1=1 and 2=2 group by xmid,dwid order by (select name from table2 where id = t.dwid)

这样的SQL语句中,order by 中允许子查询就方便多了。根据个人经验,写SQL语句如果能少关联一个表,相对来说,感觉会简单好多。越是简单的东西,会让人感觉越舒服。在古龙的小说有一句话,最简单的方法就是最好的方法。

补充一个order by 的字段可以转化的 order by to_number(字段)

这个也许在ORM世界里,没有任何意义,因为不再需要写SQL语句。

原来order by 中也可以使用子查询相关推荐

  1. SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  2. SQL中的关联子查询

    目录 关联查询 例子 分解相关的嵌套查询 与不同的表一起使用 关联子查询与内部联接 哪个更快? 哪个更容易阅读? 哪一个更好? HAVING子句中的关联子查询 在本文中,我们将查看几个示例并将关联子查 ...

  3. MySQL中的常见子查询语句

    一.子查询语句格式 基本语法:SELECT 字段列表/* + FROM + 表名 +[WHERE 条件]; 完整语法:SELECT [SELECT 选项] + 字段列表[字段别名] /* + FROM ...

  4. mysql select 子查询_SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  5. SQL语句中的嵌套子查询

    文章目录 相关子查询 自身连接 一开始在学习的SQL语句的时候,没有感受到嵌套子查询的厉害,尤其是相关子查询.现在发现它的厉害之处,写下来记录! 相关子查询 先抛出一个问题来引出这个话题.查找每个学生 ...

  6. dsum 解决 access数据库中 update的子查询问题

    在access中,update语句不能有子查询的,如不允许如下语句出现: UPDATE tblA SET lngID=       (SELECT lngID FROM tblB WHERE strN ...

  7. 优化更新语句中的标量子查询

    数据库环境:SQL SERVER 2008R2 今天看到开发写的一条更新语句,第一眼是觉得这个SQL的业务有问题,再细看子查询部分,才意识到这是开发人员使的"怪招". 这个SQL能 ...

  8. mysql怎么子查询_在mysql中如何进行子查询?

    在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...

  9. mysql大表join小表速度很慢_mysql多表join中,为什么子查询会那么慢,怎么解决-问答-阿里云开发者社区-阿里云...

    下面的sql执行后cpu100%,但是这三张join的表数据量都在2W左右,不应该啊,是不是数据库服务器配置出了问题啊.sql如下:select a.excel_id, a.rpt_id, a.acc ...

最新文章

  1. 并发控制--悲观锁和乐观锁详解
  2. [php]数据结构算法(PHP描述) 半折插入排序 straight binary sort
  3. workaround for COM_ATTRFRG_GEN 066
  4. 单曲循环 翻译_歌单 | 单曲循环amp;热评
  5. 设计模式学习笔记——责任链(Chain of Responsibility)模式
  6. python gui编程框架添加工具栏_Python之GUI实现
  7. anaconda python下载_anaconda3下载 anaconda python 3.7 for Win64 v2019.10 官方安装免费版 下载-脚本之家...
  8. hostingEnvironment与宿主环境
  9. 详解如何挑战4秒内百万级数据导入SQL Server(转)
  10. 15幅非常有创意的影子摄影作品欣赏
  11. React心得之降龙十八掌:第二式-飞龙在天( React组件化开发及相关概念)
  12. MySQL中大于等于小于等于的写法
  13. 谷歌浏览器(Chrome)如何安装crx插件?(详细步骤)
  14. Java - 传参到底是哪种? pass by value or pass by reference
  15. 攻防世界crypto进阶区--告诉你个秘密
  16. pytorch模型保存与加载总结
  17. 全球计算机科学研究生排名,新|美国计算机科学研究生专业世界排名靠50强名单...
  18. 模拟CMOS集成电路设计入门学习(3)
  19. 微信小程序做一个调查问卷
  20. DeepID算法实践

热门文章

  1. 使用uni-app开发app时,使用uni.getLocation API的时候真机调试定位没问题,云打包后API不执行的问题
  2. 面向大数据的隐私保护
  3. Cause: java.lang.UnsupportedOperationException] with root cause
  4. helm v2 入门指南
  5. Linux查杀stopped进程
  6. 手把手教你看懂Chrome火焰图!(调试性能必备)
  7. BUPT Summer Journey #test9 A
  8. 使用Python读取csv文件并进行分类存储
  9. Sublime3 设置JavaScript自动补全
  10. Java小游戏-中国象棋