Mysql没有FULL JOIN 用UNION来查询两表两边的数据
2018-03-28 10:10
1631 查看
需求是查询两个表的数据,重复ID的去重,不同字段的数据在同一行中显示。如下:
这是tt表
这是tt_copy表
需要把结果集显示成如下
因为mysql中没有全连接FULL JOIN和OUTER JOIN这些,所以mysql可以用union来去重查询。如果是union all则是查询所有不去重。
select s.id,s.`name`,s.count2,ss.count1 from tt s LEFT JOIN tt_copy ss on s.id=ss.id
union
select ss.id,ss.`name`,s.count2,ss.count1 from tt s RIGHT JOIN tt_copy ss on s.id=ss.id
这个语句即可。希望能简洁明了帮到你
这是tt表
这是tt_copy表
需要把结果集显示成如下
因为mysql中没有全连接FULL JOIN和OUTER JOIN这些,所以mysql可以用union来去重查询。如果是union all则是查询所有不去重。
select s.id,s.`name`,s.count2,ss.count1 from tt s LEFT JOIN tt_copy ss on s.id=ss.id
union
select ss.id,ss.`name`,s.count2,ss.count1 from tt s RIGHT JOIN tt_copy ss on s.id=ss.id
这个语句即可。希望能简洁明了帮到你
相关文章推荐
- Mysql联合查询UNION和UNION ALL的使用介绍 可以查询出多张没有关联关系的表的数据
- mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法。
- MySQL Union合并查询数据及表别名、字段别名用法分析
- mysql join与子查 询在联表查询数据情况下,谁的效率更高?
- Mysql联接查询-JOIN-从多个关联的表中查询数据
- mysql 查询一个表中没有存在在另一个表的数据
- mysql查询 根据月份查询每天的数据 没有数据显示0
- MySQL全连接(Full Join)实现,union和union all用法
- mysql不支持full join的另一种解决办法 和根据多个表中的相同分组来连接查询
- mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法
- mysql 把当前行数据作为子查询的条件、基于join的update、创建触发器
- [办公自动化] 再读《让EXCEL飞》(从excel导入access数据时,union联合查询,数据源中没有包含可见的表格)
- mysql查询最近7天的数据,没有数据自动补0
- mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法。
- mysql 查询一张表没有存在在另一张表的数据
- mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法
- mysql多表连接查询inner/left/right/full/cross join
- 你会不会用mysql查询近7个月的数据?没有记录默认为空
- mysql多表连接查询inner join, left join , right join ,full join ,cross join
- thinkPHP后台查询mySQL中数据时,当没有符合条件的记录count结果集的值为1