【数据库】特殊的数据表dual

在说了oracle的数据库、表空间之后,下面介绍一下oracle中非常特殊的数据表----dual。

dual表实际属于系统用户sys,只要具有数据库的基本权限,均可以查询该表的内容,如下截图:


或者可以这样:


从上面查询结果,可以看出,dual表是含有一行一列的表。这个表并不是为了存储数据而创建的,其意义是在于提供强制的数据源。


在oracle中,所有查询语句必须满足select column_name from table_name的格式,但是,在某些场景下,数据源table_name并不是明确的。举个列子:函数sysdate()用于返回当前日期,那么在SQL命令行下调用该函数时,很难有明确的数据源,此时用到dual表,就很赞了!看下面截图:



当然,如果脑洞大开,还可以进行数学运算,dual表用来作为数据源,可以打印和查看数输出结果。看下面截图:



总结以上:dual表提供给了一行一列,类似一个单行单列的矩阵,从而使各种表达式、函数运算在以它为数据源时,能够输出单行单列的形式。

另外,该表是归sys所有,因此,只有改用户才能进行修改该表,但是,修改该表的内容或者结果都是应该禁止的。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值