`
最王座
  • 浏览: 140475 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle和MySQL中的dual表

阅读更多

Oracle和MySQL中都有一张名称为dual的虚拟表,但是两者之前的区别呢?

 

在MySQL中,对dual表时怎么解释的:

DUAL is purely for the convenience of people who require that all SELECT statements should have FROM and possibly other clauses.

纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用。

 

区别:

select * from dual;

mysql会出错: 1096 - No tables used,

oracle 会返回列:“DUMMY”,其值为“X”, 行为和只有一行记录的普通表是一样的!


 

select  express [from dual];  

mysql总是作为返回该表达式值的普通select语句执行,返回一行记录的结果集,from dual 对mysql来说根本就是摆设!

select 1 + 1;
select 1 + 1 from dual;

前面这两句sql语句执行的结果是一样的。

oracle里该句必须有from dual;否则报错!

ORA-00923: FROM keyword not found where expected

 

select  express  from dual where 0=2;   mysq 和 oracle的行为一致:该句就如同你认为的正常表那样——会先计算where的条件,再行计算express;这里的where条件会决定expres是否会返回!

select 1 + 1 from dual where 0 = 2;

此时无论是Oracle还是MySQL都不可以省略from dual.

 

 

  • 大小: 1.2 KB
分享到:
评论

相关推荐

    Oracle的表结构转成Mysql的表结构

    本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...

    Oracle和mysql 的一些简单命令对比参照

    - **Oracle**和**MySQL**都支持在已有的会话中切换用户。在Oracle中使用`SQL> conn 用户名/密码@主机字符串`,而在MySQL中使用`mysql> use 库名`。 - **显示当前连接用户**:Oracle中使用`SQL> show user`,MySQL中...

    oracle与mysql对比

    在数据库管理系统领域,Oracle与MySQL都是极具影响力的选择,分别代表了企业级数据库和开源数据库的不同特点。下面将从安装目录、管理工具、客户端工具、基本操作命令等方面进行详细的对比分析。 #### 安装目录 - ...

    oracle和MySQL区别手册

    `NULL`和空字符串在MySQL中的处理方式有所不同,例如使用`IS NULL`进行判断时,两者的返回结果是不同的。 #### 基本语法使用 - **日期时间函数格式**: - **Oracle**: 默认的时间格式为`yyyy-MM-dd hh:mi:ss`。 -...

    Oracle和MySQL的区别

    数据库和表空间的概念 - **Oracle**: 使用表空间(tablespace)的概念来组织数据存储,每一个表空间都是一个或多个物理文件的集合,用于存储表和其他数据库对象。 - **MySQL**: 不支持表空间概念,但提供了多种...

    Oracle与MYSQL的几点区别

    在数据库管理系统领域,Oracle与MySQL因其各自独特的优势被广泛应用于不同的业务场景之中。本文将从几个具体的技术角度出发,探讨这两款数据库之间的差异。 #### 1. 分组查询(Group By)及聚合函数的使用 - **...

    MySQL与Oracle的语法区别详细对比

    Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,’yyyy-mm-dd’) from dual; SQL> select to_char(sysdate,’hh24-mi-ss’) from dual; mysql> select date_format(now(),’%Y-%m-%d’); mysql> ...

    Oracle10g通过DBLink访问MySQL数据

    - 假设MySQL中有一个名为`employees`的表,可以使用以下SQL语句从Oracle数据库查询这个表的数据: ```sql SELECT * FROM employees@orcl_to_mysql; ``` 2. **复杂查询**: - 如果需要执行更复杂的查询,例如...

    Oracle与MySQL的几点区别

    除了上述提到的主要区别外,在使用Oracle和MySQL的过程中,还可能遇到其他一些差异。例如,关于注释的使用,虽然两者都支持单行注释和多行注释,但具体语法上可能存在差异。了解这些差异对于有效地开发和维护基于这...

    ORACLE和MYSQL

    此外,两者对于数字类型的定义也有所差异,例如Oracle中的`NUMBER`类型比MySQL中的`INT`类型更加灵活和强大。 #### 五、约束和完整性 - **Oracle**在数据完整性方面提供了更强大的支持,比如可以在创建表时直接...

    mysql生成oracle序列

    为了在MySQL中实现类似于Oracle序列的功能,可以通过创建一张特殊的表和几个自定义函数来实现。这种方法可以有效地模拟Oracle序列的行为,并能够根据指定的步长和长度来生成数值。 ##### 2.1 创建模拟序列的表 在...

    Oracle Mysql DM等数据库统计表数据量和条数.docx

    数据库统计表数据量和条数 在数据库管理中,了解数据库中的表数据量和条数非常重要。...本文总结了MySQL、Oracle和DM数据库中统计表数据量和条数的方法,旨在帮助数据库管理员和开发者更好地管理和维护数据库。

    MySQL生成Oracle序列参考案例

    上述过程的核心在于通过自定义函数和表模拟Oracle序列的行为。在实际迁移过程中,需要对原有应用中使用到Oracle序列的地方进行修改,以使用这些自定义的函数来保证应用逻辑的正确性。 整个案例的实施涉及到了对...

    Oracle.VS.Mysql

    综上所述,Oracle和MySQL在命令行工具、用户管理、SQL语法、日期处理等方面存在诸多不同之处。这些差异反映了两者设计理念和技术路线的不同,也体现了它们各自的优势和特点。对于数据库开发者来说,熟悉这两种数据库...

    创建oracle数据库中表的主键和自增

    ### 创建Oracle数据库中表的主键和自增 在Oracle数据库中实现自增主键是一项常见但非常重要的功能。这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍...

    如何为oracle中的表增加自动增长列.pdf

    无论使用哪种方法,在实际操作之前,强烈建议备份相关数据和表结构,以防止意外情况的发生导致数据丢失。同时,在数据库升级和迁移过程中,也应该注意序列和触发器是否与新系统兼容,确保自动增长列的功能不会受到...

    MYSQL,SQLSERVER,ORACLE常用的函数

    根据提供的标题和描述,本文将详细介绍在MySQL、SQL Server以及Oracle数据库中常用的函数。这些函数主要分为几大类:字符串处理函数、数值处理函数、日期处理函数、转换函数以及其他一些特殊用途的函数。 ### 字符...

Global site tag (gtag.js) - Google Analytics