mysql union all 别名_mysql union和union all

如下先创建2个表,aa bb.

CREATE table aa(

uid int(20) not null,

name VARCHAR(30) not null

)engine=innodb default charset=utf8mb4 COLLATE utf8mb4_general_ci;

INSERT INTO `aa`(`uid`, `name`) VALUES (10, '张芳');

INSERT INTO `aa`(`uid`, `name`) VALUES (11, '王凯');

INSERT INTO `aa`(`uid`, `name`) VALUES (12, '张学友');

INSERT INTO `aa`(`uid`, `name`) VALUES (13, '陈真');

INSERT INTO `aa`(`uid`, `name`) VALUES (14, '向佳');

INSERT INTO `aa`(`uid`, `name`) VALUES (15, '徐州');

CREATE table bb(

uid int(20) not null,

name VARCHAR(30) not null

)engine=innodb default charset=utf8mb4 COLLATE utf8mb4_general_ci;

INSERT INTO `bb`(`uid`, `name`) VALUES (110, '王海川');

INSERT INTO `bb`(`uid`, `name`) VALUES (111, '任海波');

INSERT INTO `bb`(`uid`, `name`) VALUES (121, '陈海杰');

INSERT INTO `bb`(`uid`, `name`) VALUES (131, '陈勇');

INSERT INTO `bb`(`uid`, `name`) VALUES (141, '独孤无敌');

INSERT INTO `bb`(`uid`, `name`) VALUES (151, '陈磊');

INSERT INTO `bb`(`uid`, `name`) VALUES (155, '采花大盗');

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。

union 是对数据进行并集操作,不包括重复行,同时进行默认排序

从效率上说,UNION ALL 要比UNION快很多,Union all 是对数据进行并集操作,包括重复行,不进行排序

select * from aa;

23d97967f8c5

image.png

select * from bb;

23d97967f8c5

image.png

aa表和bb表合并查询结果

select * from aa union select * from bb;

23d97967f8c5

image.png

如果想使用ORDER BY或LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放到最后一个的后面

(select uid,name from aa) union (select uid,name from bb)ORDER BY uid desc limit 10;两个SQL都得加上()。

23d97967f8c5

image.png

或者如下写SQL也可以

select uid,name from (select uid,name from aa union select uid,name from bb) t order by uid desc LIMIT 10;记得给 括号合并的表取上别名,否则报错 如下图

select uid,name from (select uid,name from aa union select uid,name from bb) order by uid desc LIMIT 10;没取别名 t 报错

23d97967f8c5

image.png

如果用到分组。

select uid,group_concat(name )from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

23d97967f8c5

image.png

select uid,name from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

23d97967f8c5

image.png

运行上面那个SQL会报错,因为5.7版本之后的MYSQL不在group by里的字段 跟在select会报错解决办法是,用函数 any_value(字段名)

select any_value(name),max(uid)from (select uid,name from aa union select uid,name from bb) t group by uid order by uid desc LIMIT 10;

运行上面的SQL 不报错了

23d97967f8c5

image.png

any_value(字段名)允许,非分组字段的出现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL不走联合索引_mysql group by 多列优化思路?为什么不走联合索引?

explain SELECT a, b, COUNT(*) FROM tbnameGROUP BY a, border by a DESClimit 1a 和 b 列已经设置联合索引, 为什么这种操作也会执行全表扫描呢?explain SELECT a, b FROM tbnameGROUP BY a, border by a DESC去掉 COUNT 和 limit 则走索引没有扫描&am…

mysql ddl 锁_MySQL Online DDL导致全局锁表案例分析

MySQL Online DDL导致全局锁表案例分析我这边遇到了什么问题?线上给某个表执行新增索引SQL, 然后整个数据CPU打到100%, 连接数暴增到极限, 最后导致所有访问数据库的应用都奔溃.SQL如下:ALTER TABLE bookADD INDEX idx_sub_title (sub_title ASC);能看到什么?10063293, root,…

ci框架 乱码 mysql_mysql容器乱码问题

在docker-compose.yml文件中定义mysql导入utf-8的万国码services:mysql:image:mysql:5.7# command: [--character-set-serverutf8mb4, --collation-serverutf8mb4_unicode_ci]volumes:-./data/docker/mysql:/var/lib/mysql-./mysql/:/docker-entrypoint-initdb.d/-./conf/mys…

mysql分表 查询 优化_MySQL性能管理及架构(查询优化、分库分表)一遍文章搞定...

相关配置参数:slow_query_log # 启动停止记录慢查日志,慢查询日志默认是没有开启的可以在配置文件中开启(on)slow_query_log_file # 指定慢查日志的存储路径及文件,日志存储和数据从存储应该分开存储long_query_time # 指定记录慢查询日志SQL…

dokcer mysql修改编码_默认支持utf8编码的mysql docker镜像

其他人都是不正确的使用mysql容器镜像可以很快速的运行mysql,免去了传统的虚拟机安装方式的繁琐配置。但是使用官方的mysql镜像,你会遇到中文乱码的问题,原因是官方镜像的字符集默认值不是utf8。这时候你去google,会找到一些文章&…

mysql临时表 清空_在数据库中临时表什么时候会被清除呢

展开全部我们仍使用 实验 05 中的环境,略去准备数据的过程。我们仍然使用两个会话,62616964757a686964616fe59b9ee7ad9431333433646439一个会话 run,用于运行主 SQL;另一个会话 ps,用于进行 performance_schema 的观察…

locust mysql_locust性能压测连接mysql,随机取出班级,绑定学生

from locust import HttpLocust, TaskSet, taskimport pymysqlimport randomclass UserBehavior(TaskSet):def on_start(self):db pymysql.connect("ip地址", "用户名", "密码", "数据库")cursor db.cursor()cursor.execute("S…

mysql无法添加或更新子行_违反完整性约束:1452无法添加或更新子行:

我试图在我的注释表中插入值,但出现错误。俗话说,我不能添加或更新子行,我也不知道这意味着什么。我的架构看起来像这样-- ------------------------------ Table structure for comments-- ----------------------------DROP TABLE IF EXIST…

python医学图像分割_基于cv2的医学图像分割

例如,图像如下所示:import cv2import numpy as npimg cv2.imread("mdb168.pgm",0)import matplotlib.pyplot as pltplt.imshow(img, cmap"gray")我想删除图像中所有的伪影和不必要的部分。在为此,我首先对图像进行二值化…

python解析response的json_从HTML responseTex解析JSON

因此,我大体上同意,更好的解决方案是确保服务器只返回JSON,不过这是通过客户端Javascript实现的一种快速方法,如Barmer所建议的那样,将html解析到DOM,获取body中的文本childNode并在其上运行JSONParse。在v…

mysql 密码修改时间_Mysql修改密码的方法

修改mysql密码的方法:最简单的,在Navicat连接后点用户,找到rootlocalhost直接修改。注意如果装了xampp,在phpmyadmin配置文件也需要改两处密码。下面是在命令行修改的方法。方法1:用mysqladmin----------------亲测这个…

svn版本库浏览器_在SVN版本库浏览器中直接编辑文件保存后不会弹..._网络编辑_帮考网...

原因是没有实际添加到版本库中,要添加到版本库必须执行“Commit”。具体分析如下:SVN错误处理svn : Couldn’t perform atomic initialization. 临时解决办法:升级sqlite。原本安装的是 subversion 1.6.16 sqlite 3.6.13,一直报”…

ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...

本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:why拿到一个人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戏加载图片效率,且比较好管理。目前得…

世上最简单的mysql_mysql这样学最简单|基本操作上

这是数据库系列的第一篇文章,主要是对mysql的基本操作有一个了解。本系列的教程会先从基础出发,逐步过渡到优化。一、前提在这里我们不会从如何去安装数据库开始讲起,而是在安装完之后从操作数据库开始,文中所有的代码均在我自己的…

django ipython shell_django shell ipython 模型层优化(关联对象) 懒加载和预加载 +长链接...

懒加载存在于外键和多对多关系不检索关联对象的数据调用关联对象会再次查询数据库问题根源查看django orm的数据加载,两次. 查询user,查询menu第一次查询 用户表 第二次查询 app表cmd:python manage.py shell #进入shell调试 或者ipythonfrom authorization.models import Use…

zabbix4.0添加mysql报警_Zabbix4.0系统告警“Zabbix server is not running”

第一步: 查看系统日志,进一步确认原因1 cat /var/log/zabbix/zabbix_server.log问题出现在数据库。第二步 数据库确认1 mysql -u root -p #root用户登陆数据库如果登录不成功,就看一下登录密码是否正确以及zabbix用户是否有权限登录数据库。1…

影响索引的mysql函数_mysql索引对排序的影响实例分析

本文实例讲述了mysql索引对排序的影响。分享给大家供大家参考,具体如下:索引不仅能提高查询速度,还可以添加排序速度,如果order by 后面的语句用到了索引,那么将会提高排序的速度。测试1、创建测试表:t15表…

php如何对 mysql 中text类型拆分存入一个数组_PHP递归实现无限级分类,可选返回字符串和数组...

正 文:在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。递归,简单的说就是一段程序代码的重复调…

python 开发框架 ant_Golang/python语言开发的分布式游戏服务器框架 mqant

软件介绍mqantmqant 是一款基于 Golang 语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性的游戏服务器框架,也希望 mqant 未来能够做即时通讯和物联网方…

java w3c xml_org.w3c.dom(java dom)解析XML文档

首先来了解点Java DOM 的 API:1.解析器工厂类:DocumentBuilderFactory创建的方法:DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();2.解析器:DocumentBuilder创建方法:通过解析器工厂类来获得 DocumentBuilder…