首页 > 数据库 >ORACLE SQL中执行先后次序的问题

ORACLE SQL中执行先后次序的问题

时间:2023-03-27 13:12:34浏览次数:35  
标签:... 次序 cost SQL ORACLE rownum where order select

分享一个经验

需求:Oracle中,根据COST优先级取最优先的一条记录
脚本:

select ... from ...
where ... and rownum=1 
order by cost

实际不能如愿,取得的结果不是最优先的。原因是where在很早就执行了,等到order的时候,只有一条记录。改为以下解决

with a as (select ... order by cost)
select * from A where rownum=1

 

标签:...,次序,cost,SQL,ORACLE,rownum,where,order,select
From: https://www.cnblogs.com/glowinghe/p/17261193.html

相关文章

  • sql 时间格式
    仅仅学习记录sql的日期格式化转化#2.MySQL数据库中日期与时间函数FROM_UNIXTIME(),UNIX_TIME()…......
  • java代码备份mysql数据库
    生成环境的数据库我们需要不断的进行备份,不然服务器出现故障,会是灾难性的直接添加我的代码packagecom.hrp.task;importcom.alibaba.fastjson.JSON;importcom.bas......
  • sql 中的left join 的坑请大家绕着走
    背景:最近工作中一直和sql打交道,由于平时用的少,也不怎么写多表联查的情况,但是最近项目中存在大量的多表联查的sql,让自己走了一些小坑AleftjoinB中未必A就......
  • mysql查看死锁
    查看死锁Mysql查询是否存在锁表有多种方式,这里只介绍一种最常用的。1、查看正在进行中的事务SELECT*FROMinformation_schema.INNODB_TRX2、查看正在锁的事务......
  • 告别慢SQL,如何去写一手好SQL ?
    MySQL性能最大数据量最大数据量抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。《阿里巴巴Java开发手册......
  • chatGPT教你学sql的事务
    事务的隔离级别事务的隔离级别是指多个并发事务之间相互隔离的程度,主要是为了解决并发事务带来的一致性问题,它的主要作用是控制数据库中事务的可见性和可重......
  • Oracle-nvl函数的使用(及其相似函数)
    Oracle中的nvl函数使用//SQL实例selectNVL("字段名称",指定常量)from"表名";//结构拆解NVL("数据1","数据2");代码解释上述SQL的含义是指,从指定表中查出指定字段......
  • oracle数据库基本操作
    创建表空间:createtablespace表名datafile'c:\表名.dbf'(创建表路径)size100m   (表空间大小 100mb)autoextendon(空间不足时自动增长)next10m(每......
  • SQL SERVER不使用EOMONTH,获取月份的最后一天- SQL server 2008
    1)TofindthelastdateofthecurrentmonthusingEOMONTHDECLARE@current_dateDATE=GETDATE()SELECTEOMONTH(@current_date,0)ASLastDayOfCurrentMonthNE......
  • Oracle rownum = 1 和order by连用的坑!!!
    ORACLE中rownum和orderby的优先级比较rownum和orderby的优先级比较是要分情况的:orderby索引,主键时,即可让oracle先按该字段排序,然后再用rownum标号。orderby普通列......