mysql中的dual

大概在mysql 5.1版本后才出现的dual,之前版本没有dual表。
mysql中使用select * from dual会报1096错误。
在这里插入图片描述
oracle中会返回X
在这里插入图片描述

select express [from dual];
mysql总是作为返回该表达式值的普通select语句执行,返回一行记录的结果集,from dual 对mysql来说根本就是摆设!而oracle里该句必须有from dual;否则报错!

mysql from dual后面可以增加条件,控制其返回结果。

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

发布了1230 篇原创文章 · 获赞 310 · 访问量 223万+

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/105491787