概述
issue表
employee_table表
Union基础方法
-- union 去除重复
SELECT 1, 2 UNION SELECT 1, 2;
-- union all 关联所有 包含重复
SELECT 1, 2 UNION ALL SELECT 1, 2;
Union使用规则
Union
有他的强大之处,详细介绍之前,首先明确一下Union
的使用注意规则。
Union
必须由两条或者两条以上的SELECT
语句组成,语句之间使用Union
链接。Union
中的每个查询必须包含相同的列、表达式或者聚合函数,他们出现的顺序可以不一致(这里指查询字段相同,表不一定一样)- 列的数据类型必须兼容,兼容的含义是必须是数据库可以隐含的转换他们的类型
多表关联
-- union 多表关联
SELECT
NAME,
create_time
FROM
issue
UNION
SELECT
employee_name,
create_time
FROM
employee_table;
从上面的检索结果能看出,我们将两个表的数据组合了起来。Union
检索遇到不一致的字段名称时候,会使用第一条SELECT
的查询字段名称,或者你使用别名来改变查询字段名称
区分多表
虽然结果混合在一起没有任何问题,但是当显示到页面的时候,我们需要给用户和文章不同的链接或者其他的区分。所以我们必须确定该条记录来自于哪张表,我们可以添加一个别名来作为表名。
-- union 多表关联
SELECT
NAME,
create_time,
'issue' AS table_name
FROM
issue
UNION
SELECT
employee_name,
create_time,
'employee' AS table_name
FROM
employee_table;
包含重复、去除重复
mysql
在查询结果集中帮我们自动去除了重复的行 ,一般情况下这样结果是好的,但是如果需要的情况下,我们可以使用Union All
操作符来取消自动合并功能 。
在多表中,Union
如果是是返回的字段都相同才会被去重。
没有去重:
-- union 多表关联
SELECT
NAME,
create_time,
'issue' AS table_name
FROM
issue
UNION
SELECT
employee_name,
create_time,
'employee' AS table_name
FROM
employee_table;
去重
-- union 多表关联
SELECT
NAME
FROM
issue
UNION
SELECT
employee_name
FROM
employee_table;
最后
以上就是痴情黄蜂为你收集整理的mysql:union 组合查询的全部内容,希望文章能够帮你解决mysql:union 组合查询所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复