【SQL】神奇的DUAL表

mysql文档中对于dual表的解释:

You are allowed to specify DUAL as a dummy table name in situations where no tables are referenced:
你可以在没有表的情况下指定一个虚拟的表名
mysql> SELECT 1 + 1 FROM DUAL;
-> 2
DUAL is purely for the convenience of people who require that all SELECT statements should have FROM and possibly other clauses. MySQL may ignore the clauses. MySQL does not require FROM DUAL if no tables are referenced.
DUAL是为了方便那些要求所有SELECT语句都应该具有FROM和其他子句的人。MySQL可能会忽略该条款。如果没有引用表,MySQL不需要从DUAL。

可以作为一个函数的桥梁,用来展示计算的结果。
在这里插入图片描述

Oracle:

DUAL表是建立数据库的时候随数据字典创建而建立的,它是单行单列的一个表,一般称为“哑表、虚表等”,列名DUMMY,类型VARCHAR2(1),值为’X’,为什么叫虚表,因为它有比物理表更多神奇内涵。这就是DUAL表的全部基本内容,对于这个基本内容要确保是固定的,不可修改,有很多莫名的问题产生就是因为动了这张表。DUAL表的基本内容虽然简单,但背后隐藏了很多神奇的内容。

  1. DUAL表常规用途。

主要介绍DUAL表有哪些主要用途,比如计算,构造数据等。
在这里插入图片描述

在项目里用到,将几个表中的某一个数据查询出来,然后统一拿出来:

在这里插入图片描述
其中SQL语句直接返回一个Map类型的,这样就可以直接将这几个数据直接封装在map里面了。

<select id="getOrderListByOrderState" parameterType="String" resultType="Map">
</select>
HashMap<String, Object> getOrderListByOrderState(String memberId);
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值