gpt4 book ai didi

sql - 什么是 rowID & rowNum (ROWID vs ROWNUM)

转载 作者:行者123 更新时间:2023-12-04 11:18:11 28 4
gpt4 key购买 nike

我想知道 rowID 之间的区别和 rowNUM
以及如何在我们的表格中看到这两者。

当我执行此操作时:

SELECT * FROM emp WHERE rownum=1

它返回一个查询,但是当我对 rowid 执行相同操作时,它说

inconsistent datatypes: expected ROWID got NUMBER



即使在某些表中, rownum 也返回 null 。为什么这样?

请澄清这一点:rowid vs rownum?(演示查询)

谢谢

编辑:需要使用别名来显示 ROWIDROWNUM (因为它们是伪柱)
喜欢:
SELECT rownum r1, rowid r2 FROM emp

最佳答案

ROWNUM 和 ROWID 都是伪列。
罗维德

For each row in the database, the ROWID pseudo column returns theaddress of the row.


一个示例查询是:
SELECT ROWID, last_name  
FROM employees
WHERE department_id = 20;
有关 rowid 的更多信息,请访问: https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm
行号

For each row returned by a query, the ROWNUM pseudo column returns anumber indicating the order in which Oracle selects the row from atable or set of joined rows. The first row selected has a ROWNUM of 1,the second has 2, and so on.


您可以使用 rownum 限制结果数量,如下所示:
SELECT * FROM employees WHERE ROWNUM < 10;
有关 rownum 的更多信息,请访问: https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm
差异 rowid之间的实际差异和 rownum也就是说,rowid 是该行的永久唯一标识符。但是,rownum 是临时的。如果您更改查询,rownum 编号将引用另一行,而 rowid 则不会。
所以 ROWNUM 是一个连续的数字,只适用于特定的 SQL 语句。与 ROWID 相反,它是一行的唯一 ID。

关于sql - 什么是 rowID & rowNum (ROWID vs ROWNUM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34282583/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com