mysql如何合并两条记录,或者将查询出来的结果相连

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何合并两条记录,或者将查询出来的结果相连相关的知识,希望对你有一定的参考价值。

记录a:
字段shi
内容:窗前明月光
记录b
字段shi
内容,疑是地上霜
记录c
字段shi
内容:举头望明月
记录d
字段shi
内容:低头思故乡
有啥sql语句可以把四条记录合并成一条,或者select语句咋写能让结果显示成完整的一首诗

参考技术A select a1,a2,a3 from t1
union all
select * from t2
参考技术B 1楼的专家,你的查询结果里面会出现1,a,b这种情况
我要的是两表的返回结果只能是
1,a,a或者1,a,NULL或者1,NULL,a

--------------------------改改
--加多一个条件 and a.UID=b.UID
select
A_ID,A.UID,B.UID
from A left outer join B on a.A_ID=b.b_ID and a.UID=b.UID
where A.A_ID='a'
union
select
B_ID,A.UID,B.UID
from A Right outer join B on a.A_ID=b.b_ID and a.UID=b.UID
where B.A_ID='a'

--OR
left outer join 改为 Left join本回答被提问者采纳
参考技术C mysql InnoDB 表数据页或者二级索引页(简称数据页或者索引页)的合并与分裂对 InnoDB 表整体性能影响很大;数据页的这类操作越多,对 InnoDB 表数据写入的影响越大。
MySQL 提供了一个数据页合并临界值(MERGE_THRESHOLD),在某些场景下,可以人为介入,减少数据页的合并与分裂。
在 InnoDB 表里,每个数据页默认16K 大小,默认 MERGE_THRESHOLD 值为 50,取值范围从 1 到 50,默认值即是最大值。也就是当页面记录数占比小于 50% 时,MySQL 会把这页和相邻的页面进行合并,保证数据页的紧凑,避免太多浪费。

mysql——多表——合并查询结果

合并查询结果

合并查询结果 是将多个select语句的查询结果合并到一起

union关键字,数据库会将所有的查询结果合并到一起,然后除掉相同的记录;

union all关键字,只是简单的合并到一起

 

前期表准备:

create table employee ( num int(50),
                        d_id int(50),
                        name varchar(50),
                        age int(50),
                        sex varchar(50),
                        homeadd varchar(50)
                       );

insert into employee values(1,1001,\'zhangsan\',26,\'nan\',\'beijing\');
insert into employee values(2,1001,\'lisi\',24,\'nv\',\'hunan\');
insert into employee values(3,1002,\'wangwu\',25,\'nan\',\'jiangsu\');
insert into employee values(4,1004,\'aric\',15,\'nan\',\'yingguo\');

select * from employee;

create table department ( d_id int(50),
                          d_name varchar(50),
                          functione varchar(50),
                          address varchar(50)
                        );

insert into department values(1001,\'keyanbu\',\'yanfachanpin\',\'3lou5hao\');
insert into department values(1002,\'shengchanbu\',\'shengchanchanp\',\'5louyiceng\');
insert into department values(1003,\'xiaoshoubu\',\'cehuaxiaoshou\',\'1louxiaoshoudating\');

select * from department;

 

select d_id from department union select d_id from employee;

 

 

 

 

 

 

select d_id from department union all select d_id from employee;

以上是关于mysql如何合并两条记录,或者将查询出来的结果相连的主要内容,如果未能解决你的问题,请参考以下文章

mysql合并结果集

mysql 将两个SQL语句查询结果并在一起

mysql如何合并查询多个相同数据结构库的表输出来结果?

MySQL两个查询合并成一个结果

MySQL两个查询合并成一个结果

MySQL两个查询合并成一个结果