oracle 中的有序提示是不是也决定了获取它们的行的顺序?
Posted
技术标签:
【中文标题】oracle 中的有序提示是不是也决定了获取它们的行的顺序?【英文标题】:Does ordered hint in oracle also decides the order of rows in which they are fetched?oracle 中的有序提示是否也决定了获取它们的行的顺序? 【发布时间】:2020-09-05 19:06:00 【问题描述】:我读到“ORDERED 提示导致 Oracle 按照它们在 FROM 子句中出现的顺序连接表。”
但它是否也按特定顺序获取行?
例如:如果我在列 emp_code 上订购了提示,其值为 'A'、'B' 和 'C'[让我们考虑连接超过 2 个表以获得 emp_code]。
输出是否总是具有特定的行顺序?例如,“A”总是第一行,“C”是最后一行吗?它决定行的顺序吗?如果是,那怎么办?
【问题讨论】:
【参考方案1】:没有。控制最终结果集中行顺序的唯一方法是在 SELECT 语句中使用 ORDER BY 子句。提示是影响优化器选择的访问计划,而不是结果集的排序。
select emp_id,
emp_name
from emp
order by emp_id -- <this is the only thing that controls the order of rows in the result set
;
【讨论】:
以上是关于oracle 中的有序提示是不是也决定了获取它们的行的顺序?的主要内容,如果未能解决你的问题,请参考以下文章
imp命令不知道为啥不能用了,提示'imp'不是内部或外部命令,也不是可运行的程序或批处理文件。
oracle 中的语句,老是被提示除数为0,但是数据库中是有数据的!是否写法上出问题了! 请大家帮忙看看