`

sql中没有order by,是否存在默认排序

阅读更多
Oracle会根据具体的数据块的存储返回记录.
oracle数据库是没有默认排序的 
要排序必须加上order  by 
因为oracle是按块进行读取数据的 
如果数据按顺序存储,则可能使读取出来的数据是按顺序的,给用户误解为默认排序
oracle没有进行任何排序操作,rowid表示的是数据存放的数据块内部地址,如果没有要求排序,oracle会顺序的从数据块中读取符合条件的数据返回到客户端,不过看起来好像是按照rowid排序似的

如果数据量足够大,即使相同的语句,都有可能不同的结果。
一般而言
表是堆表
所以是无序的
他是按照也即物理存放顺序来读取的
rowid 是自动随行生成的
分享到:
评论
1 楼 Trying 2014-04-18  
mysql会怎样呢?编程时,到底要不要排序呢?听说排序会对性能有影响

相关推荐

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在文中提到的例子中,即使为列添加了索引,`ORDER BY`操作仍然没有按照预期进行,这主要是因为`ROWNUM`不是一个稳定的排序依据,它只是表示查询结果集的顺序,而不是数据本身的物理存储顺序。 `ROWID`是Oracle...

    SQL 中文排序

    #### 默认排序行为 在SQL中,默认的排序方式通常是基于字符集和排序规则的。对于中文字符来说,这种排序方式往往是按照其Unicode编码进行的,而并非我们常见的拼音或笔画顺序。例如,在默认情况下,“啊”、“八”...

    group by + order by

    `ORDER BY` 用于对结果集按照一个或多个列进行排序,可以指定升序(ASC,默认)或降序(DESC)。 - **基本语法**: ```sql SELECT column1, column2, ..., columnN FROM table_name ORDER BY column1 ASC/DESC,...

    Like-and-OrderBy.rar_sql like order by

    在SQL语言中,LIKE和ORDER BY是两个非常重要的关键字,它们分别用于数据的查询和排序。今天我们将深入探讨这两个概念,以及它们在T-SQL(Transact-SQL,微软SQL Server中的SQL方言)中的具体应用。 首先,我们来...

    SQL-ORDER BY 多字段排序(升序、降序)

    在SQL Server中,除了`ORDER BY`,还有`ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`等函数用于行号排序,它们在分组或分页查询时非常有用。 ### 7. MySQL特殊场景 MySQL在处理中文排序时,需要考虑字符集和排序规则...

    OrderBy.rar_vb的sql排序

    "OrderBy.rar_vb的sql排序"这个标题暗示我们将会探讨如何在VB中使用SQL语句来对数据库中的数据进行排序。排序是数据库操作的重要部分,它允许用户按照特定字段的值对记录进行升序或降序排列。 SQL(Structured ...

    sql查询和排序

    这里的`ORDER BY Salary`指定了排序的列,`DESC`表示降序,如果想进行升序排序,可以使用`ASC`(默认也是升序,可以省略)。 此外,`ORDER BY`还可以同时对多个列进行排序,如先按部门再按薪水排序: ```sql ...

    排序函数(sqlserver)

    首先,我们要了解SQL Server中的基本排序语句——`ORDER BY`。在SQL查询中,`ORDER BY`子句用于指定返回结果集的排序方式。例如,如果我们有一个名为`Employees`的表,并希望按`Salary`字段降序排列,可以使用以下...

    在sql中不指定Order by排序是按照主键吗

    在SQL中,当我们不指定`ORDER BY`子句时,查询结果的顺序是不确定的。这与是否基于主键进行排序无关。SQL标准明确规定,如果没有明确的排序指示,数据库管理系统(DBMS)有权以任何顺序返回结果集,这通常被称为"自然...

    SQLServer中Partition By及row_number 函数使用详解

    在没有指定的情况下,`PARTITION BY` 将默认对整个结果集进行一个大分区。这与`GROUP BY` 有所不同,`GROUP BY` 主要是用于对数据进行聚合,通常与聚合函数(如 `SUM`, `COUNT`, `AVG` 等)结合使用,而返回的结果...

    sql中 order by 和 group by的区别

    order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志...

    SQL Server2008 Order by在union子句不可直接使用的原因详解

    这是因为 `ORDER BY` 通常用于对查询结果进行排序,而 `UNION` 的目的是合并不同的数据集合,其默认行为是返回合并后的所有数据,而不是按特定顺序排列。当多个 `SELECT` 语句通过 `UNION` 合并时,系统会将它们视为...

    order by 、group by 、having的用法

    在SQL查询中,`ORDER BY`、`GROUP BY` 和 `HAVING` 是三个非常重要的子句,它们分别用于不同的数据处理操作。 1. **ORDER BY** 子句: - `ORDER BY` 用于对查询结果进行排序,按照指定的字段进行升序或降序排列。...

    SQL排序查询_IT文库

    ORDER BY后面的列名后面可以跟ASC表示升序排列,也可以跟DESC表示降序排列,如果没有指定,默认是升序排序。 单列数据排序是SQL排序查询中最基础的操作。通过单列排序,我们可以很容易地将查询结果按照某一个字段的...

    Mysql排序和分页(order by&limit)及存在的坑

    然而,使用`ORDER BY`和`LIMIT`也存在一些潜在的问题。例如,全表扫描可能导致性能下降,特别是在处理大型表时。为了避免这种问题,可以考虑以下优化策略: 1. 使用索引:为经常用于排序的字段创建索引,可以显著...

    JAVA sql 汉字排序

    在描述中提到的错误“无法解决 equal to 操作的排序规则冲突”通常发生在两个具有不同默认排序规则的数据库之间进行连接查询时。为了解决这个问题,可以在连接条件上明确指定一个共同的排序规则,例如`collate ...

    SQL 必知必会 3 - 查询数据排序1

    在SQL查询中,`ORDER BY`通常放置在`SELECT`语句的末尾,用于指定结果集的排列顺序。例如,以下语句将`Products`表中的`prod_name`列按字母顺序进行排序: ```sql SELECT prod_name FROM Products ORDER BY prod_...

    sybase与microsoft—sql的语法区别

    - Sybase允许在`ORDER BY`子句中不列出所有选择列(如`SELECT x, y FROM table ORDER BY x, y, z`),而SQL Server则要求在`ORDER BY`中列出所有参与排序的列(如`SELECT x, y, z FROM table ORDER BY x, y, z`)。...

Global site tag (gtag.js) - Google Analytics