中,SQL Server 可以执行SELECT,而无需引用表;就像是:

Select 1.2 +3, 'my dummy string'

由于,Oracle 不允许在没有FROM的情况下进行SELECT,因此我将对偶表用于这种类型的操作。就像是:
Select 1,2+3, 'my dummy string' FROM DUAL

有没有更好的方法来执行这种类型的查询?使用双表是一种好习惯?

最佳答案

不,在Oracle中,没有SELECT的情况下没有FROM

使用dual表是一个好习惯。
dual是一个内存表。如果您没有从中选择DUMMY,它将使用特殊的访问路径(FAST DUAL),不需要I/O

曾几何时,dual有两个记录(因此而得名),其目的是用作虚拟记录集以复制与之连接的重复记录。

现在它只有一条记录,但是您仍然可以用它生成任意数量的行:

SELECT  level
FROM    dual
CONNECT BY
        level <= 100
MySQL还支持dual(以及fromless语法)。

10-06 16:05