首页 >数据库 >mysql教程 >Oracle 是否允许不带 FROM 子句的 SELECT 查询?如果允许,推荐的方法是什么?

Oracle 是否允许不带 FROM 子句的 SELECT 查询?如果允许,推荐的方法是什么?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-29 08:22:10971浏览

Does Oracle Allow SELECT Queries Without a FROM Clause, and If So, What's the Recommended Approach?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn