转自https://blog.csdn.net/weixin_44145478/article/details/107079176

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。

1 select 7*9 fromdual; 计算器2 SELECT SYSDATE() from dual 获取系统时间

案例

开发过程中,需要对数据进行excel展示或导出,并且需要各种类型的数据,这里提供一种通过dual表来实现

创建表teacher,插入数据

1 CREATE TABLE `teacher` (2 `id` bigint(20) NOT NULL AUTO_INCREMENT,3 `name` varchar(10) DEFAULT NULL,4 `age` int(11) DEFAULT NULL,5 `score` int(10) DEFAULT NULL,6 PRIMARY KEY (`id`),7 KEY `index_three_key` (`name`,`age`,`score`)8 ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COMMENT=‘老师‘;

1 INSERT INTO teacher(id,name,age,score) VALUES(1,‘Alen‘,32,98),(2,‘Aony‘,43,1),2 (3,‘Dansy‘,53,78),(4,‘Fulanke‘,25,65),(5,‘Tom‘,32,54)

1 SELECT2 ‘员工汇总‘AS id,3 ‘‘AS NAME,4 ‘‘AS age,5 ‘‘AS score6 FROM7 DUAL UNION ALL8 SELECT9 *

10 FROM11 teacher UNION ALL12 SELECT13 ‘平均值‘AS id,14 ‘‘AS NAME,15 ‘‘AS age,16 cast(17 AVG( score ) AS DECIMAL ( 10, 3)) AS score18 FROM19 teacher UNION ALL20 SELECT21 ‘‘AS id,22 ‘‘AS NAME,23 ‘‘AS age,24 ‘‘AS score25 FROM26 DUAL UNION ALL27 SELECT28 ‘绩效‘AS id,29 ‘‘AS NAME,30 ‘‘AS age,31 ‘‘AS score32 FROM33 DUAL UNION ALL34 SELECT35 ‘A(评分)‘AS id,36 ‘B(评分)‘AS NAME,37 ‘C(评分)‘AS age,38 ‘D(评分)‘AS score39 FROM40 DUAL UNION ALL41 SELECT42 ( SELECT COUNT( score ) FROM teacher WHERE score >= 90) AS id,43 ( SELECT COUNT( score ) FROM teacher WHERE score >= 80 AND score < 90) AS NAME,44 ( SELECT COUNT( score ) FROM teacher WHERE score >= 60 AND score < 80) AS age,45 ( SELECT COUNT( score ) FROM teacher WHERE score < 60) AS score46 FROM47 DUAL

原文:https://www.cnblogs.com/sheseido/p/13862317.html

mysql dual表用法_mysql dual表的用途及案例相关推荐

  1. left join on用法_MySQL 多表查询 quot;Joinquot;+“case when”语句总结

    本部分讲述:join系列全部总结和case when语句用法 join系列:表加法.Cross join .inner join.left join.right join.full outer joi ...

  2. mysql多表 性能_Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接)在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT*FROMtable1CROSSJOINtabl ...

  3. mysql 分表原理_MYSQL 分表原理(转)

    简介: 引用MySQL官方文档中的一段话:MERGE存储引擎,也被认识为MRG_MyISAM引擎,是一个相同的可以被当作一个来用的MyISAM表的集合."相同"意味着所有表同样的列 ...

  4. mysql如何根据业务分表设计_mysql分表分库的应用场景和设计方式

    很多朋友在论坛和留言区域问mysql在什么情况下才需要进行分库分表,以及采用何种设计方式才是最优的选择,根据这些问题,小编为大家整理了关于MySQL分库分表的应用场景和最优的设计方式举例. 一. 分表 ...

  5. desc mysql 连表查询_Mysql连表查询

    mysql的连接 语法: select 查询列表 rom 表1 别名 连接类型 join 表2 别名 on连接条件 where 筛选条件 group by 分组 having 筛选条件 order b ...

  6. golang mysql多表查询_MySQL多表查询

    一 多表连接查询 #重点:外链接语法 SELECT 字段列表 FROM 表1 INNER|LEFT|RIGHT JOIN 表2 ON 表1.字段= 表2.字段; #建表 create table de ...

  7. mysql表分区和表空间_mysql分表和分区的区别浅析

    一.什么是mysql分表和分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上 二.my ...

  8. mysql压缩表语句_MYSQL静态表、动态表、压缩表总结

    摘要:mysql在创建表的时候定义表的性质(也叫表的类型),共有三种:静态表,动态表,压缩表.默认是静态表,如果存在varchar.blob.te... mysql在创建表的时候定义表的性质(也叫表的 ...

  9. mysql 共享表空间_MySQL共享表空间概念

    该参数在mysql5.6.6及其后续版本默认开启,开启该参数的时候,Innodb将每个新创建的表的数据及索引存储在一个独立的.ibd文件里,而不是系统的表空间.当这些innodb表被删除或清空的时候, ...

  10. mysql unicode转汉字_Mysql数据库表引擎与字符集

    Mysql数据库表引擎与字符集 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理 ...

最新文章

  1. 我的notepad++
  2. SAP Spartacus home page的三大section
  3. Linux 文件系统与设备文件系统 (二)—— sysfs 文件系统与Linux设备模型
  4. vivado下创建基本时序周期约束
  5. java jdk myeclipse_java初体验(JDK+myeclipse)
  6. 【重点】剑指offer——面试题62:序列化二叉树
  7. arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它
  8. 纠删码:定义及常见类型
  9. 五款实用思维导图模板分享
  10. 【电驱动】驱动电机系统讲解
  11. 高度的思想境界的几个特征
  12. 二叉树的类型定义与基本操作
  13. 机器学习基础:台大李宏毅的线性代数视频公开课
  14. 将公式图片转word公式
  15. 全国物流企业有哪些 物流企业详细信息怎么查询
  16. 基于PHP的招聘网站
  17. android棉花糖,Android-6.0 棉花糖权限的那点事
  18. 【程序】Altera FPGA NIOS实现Scatter-Gather DMA(SGDMA)收发回环测试,描述符和缓冲区全部放在同一块SDRAM里面
  19. Lightly: 新一代的Python IDE
  20. codeforces1430E String Reversal

热门文章

  1. VIRTIO-BLK-DATA-PLANE的配置使用
  2. python最好视频教程_国外最顶级的Python视频教程,赶紧收藏!(带中文字幕)
  3. js限制input的输入字符的长度,区分中英文
  4. android10无法获取ssid,How to get WIFI SSID in Android 10.0?
  5. sqlserver 人名_一个用来统计相同姓名人数的SQl语句_sqlserver
  6. 区块链+保险从这些方面落地应用效果显著
  7. 怎样修复计算机系统软件,重装系统后软件如何恢复呢?
  8. 谷歌浏览器 Cookie 设置
  9. 建立了一个博客园创业者QQ群
  10. php模板开发教程,Destoon模板制作简明教程