怎么用一句 sql 同时查询两张完全不同的表里的不同字段,合并为一条记录

2020-02-29 23:18:54 +08:00
 Damon4V
a 表结构:
name count
aa 10
bb 11
cc 12

b 表结构:
userid nickname
1 bob
2 damon

怎么查出 a 表 name=aa 的 count 数据和 b 表 userid=1 的 nickname 数据
如:
count nickname
10 bob

使用 INNER JOIN 可以查出,但是遇到个问题,如果 a 表没有符合 name=aa 的记录,那么这时会查出 a 表所有的记录;

为什么使用 LEFT JOIN 不能使用
3211 次点击
所在节点    MySQL
2 条回复
zjq123
2020-02-29 23:25:23 +08:00
select count(1) as count, '' as nickname from a where name='aa'
Union
Select 0 as count , nickname from b where userid=1
rekulas
2020-03-15 12:31:48 +08:00
"这时会查出 a 表所有的记录"
加了 where 为什么会查出所有记录来,你用的盗版 mysql ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/648719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX