Oracle 可以在没有 FROM 子句的情况下执行 SELECT 查询吗?
Oracle 与 SQL Server 不同,不支持没有 FROM 子句的 SELECT 查询。作为一种解决方法,通常的做法是使用双表进行此类操作,如下例所示:
Select 1,2+3, 'my dummy string' FROM DUAL
是否推荐这种做法?
在 Oracle 中,使用双表进行无源 SELECT 查询被认为是良好实践。 Dual 是一个内存表,在未选择 DUMMY 时采用快速访问路径 (FAST DUAL),从而消除了 I/O 操作。
最初,dual 由两条记录组成,并被用作虚拟记录集加入。今天,它只包含一条记录。但是,它允许使用 CONNECT BY 子句生成任意数量的行:
SELECT level FROM dual CONNECT BY level <= 100
其他平台
值得注意的是,MySQL 还支持使用双重和无源 SELECT 语法。
以上是Oracle 是否允许不带 FROM 子句的 SELECT 查询?如果允许,推荐的方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!