• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL类似Oracle的dual虚拟表

mysql 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论

在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select … from…这一习惯问题,mysql会忽略对该表的引用

在mysql里也存在和Oracle里类似的dual虚拟表:官方声明纯粹是为了满足select … from…这一习惯问题,mysql会忽略对该表的引用。

你可千万注意了:

select * from dual;     mysql会出错——1096:没有使用到表;而oracle 会返回列:“du”,其值为“X”——行为和只有一行记录的普通表是一样的!

select express [本文来源gao@!dai!ma.com搞$$代^@码5网@from dual]; mysql总是作为返回该表达式值的普通select语句执行,返回一行记录的结果集,from dual 对mysql来说根本就是摆设!而oracle里该句必须有from dual;否则报错!

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

综上:

oracle的dual具有代码美感,风格统一,约定成俗!

不得不说的在sqlserver里,,select 有mysql 和 oracle 结合的特点:

select *   sqlserver报和mysql类似的错误——你必须指定表。这种完全就算是病句吧,估计谁也不会认的!

select express   sqlserver 类似于 mysql ,有效语句,返回一行记录的结果集

select express where 0=2  sqlserver的特色:不需要from子句,考虑where条件,决定是否返回结果集


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL类似Oracle的dual虚拟表
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址