mysql中的dual

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: mysql中的dual

许多人都是由于本身软弱而做出问心有愧的事来的,并非都是蓄意背信弃义。——拉罗什富科

前两天看到项目中有这样一句SQL

SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password` FROM DUAL;

最后这里有一个FROM DUAL

我没有在数据库中找到DUAL表,它是一个关键字

但我们就算去掉FROM DUAL,也能成功执行

SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password`;

而且很多类似的例子

-- 查询当前时间
SELECT NOW() FROM DUAL;
-- 查询当前数据库版本号
SELECT VERSION() FROM DUAL;

我们去掉后面的FROM DUAL,仍然能得到同样的结果

网上很多博客文章写的DUAL可用于虚拟列名,效果如下

但我实际测试过,哪怕就是不加FROM DUAL,也是一样的

稍微了解了下,DUALORACLE中作为特殊的表存在

但在MYSQL中它好像确实没用,因此加不加FROM DUAL都无所谓。。。

个人推测可能是MYSQL中默认省略了FROM DUAL

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
数据采集 SQL 关系型数据库
在 MySQL 中使用 Union
【8月更文挑战第11天】
290 0
在 MySQL 中使用 Union
|
4月前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 Concat
【8月更文挑战第11天】
194 0
在 MySQL 中使用 Concat
|
7月前
|
SQL Oracle 关系型数据库
MySQL必知必会:MySQL中的Schema与DataBase
MySQL必知必会:MySQL中的Schema与DataBase
|
关系型数据库 MySQL
mysql的instr函数
mysql的instr函数
112 0
|
存储 SQL 关系型数据库
MySQL----存储过程(二)
MySQL----存储过程(二)
|
存储 SQL 关系型数据库
|
关系型数据库 MySQL
【MySQL】MySQL的7种join
在上一篇文章中,我们建了两张表:tbl_dept,tbl_emp,并向这两张表插入了一些数据,在这篇文章中,我们借用前面的两张表,研究MySQL的join。
145 0
|
关系型数据库 MySQL
【mysql】union的使用
【mysql】union的使用
193 0
【mysql】union的使用
|
SQL Java 关系型数据库
mysql中使用select的正确姿势你知道吗?
引言 大家在开发中,还有很多童鞋在写查询语句的时候,习惯写下面这种不规范sql 而不写成下面的这种规范方式   我也知道,这些童鞋是图方便,毕竟再敲一堆的列名,嫌麻烦! 你们上班可以问问自己的同事   我也知道,很多人至今都没有搞懂select *和selct 所有字段的区别 因此,我开一文来说明一下。
903 0
|
MySQL 关系型数据库