MySQL从两个表中选择,获取所有数据,如果不存在,则使num 0

侯猴

表一:

name
a
e

表b:

name   num
   a    10
   b    20
   c    30

我想得到:

name    num
a   10
b   20
c   30
e   0

我的sql语句是:

select c.name,
IFNULL (b.num,0) as 'num'
from
(select name from a
union 
select name from b) c
left join b
on c.`name`=b.`name`

还有其他方法可以使结果更简单吗?

法兹兰·阿罕默德(Fazlan Ahamed)
FULL OUTER JOIN can be achieve by below in mysql 

SELECT a.name, IFNULL (b.num,0) as 'num' FROM a
LEFT OUTER JOIN b ON b.name = a.name
UNION
SELECT b.name, IFNULL (b.num,0) as 'num' FROM a
RIGHT OUTER JOIN b ON a.name = b.name

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySQL:选择两个日期之间的日期值。如果日期/值不存在,则显示日期和值 0

查询Mysql-对于两个表中都不存在的值,返回0

比较两个表,如果值存在显示1,如果值不存在显示0

如果使用MySQL在数据库中不存在数据,如何获取计数0

从两个表中选择不存在的地方

Laravel获取大小量(如果不存在)0

如果数据不存在,则包含Null或$ 0

如果MySQL中不存在数据,如何添加总计为0的月份名称?

mysql合并两个表(如果不存在)

MYSQL选择两个不存在的多个表

如果使用SQL Server表中不存在值,是否有一种方法可以返回0

MYSQL选择除负数或小于0以外的所有数据

如果在MySQL中的group by语句中不存在值,如何显示0个计数?

Kinect 0不存在

如何MYSQL如何在24小时内按小时获取数据组,即使没有数据也是如此,如果0将选择NULL

根据公共列合并两个文件;如果变体存在于文件 2 中,则保留该值,并将 0 添加到文件 2 中不存在的那些

如果在表2中存在MySQL,请从表1中选择所有数据,并通过ID从表2中选择替换值

熊猫groupby 0值(如果不存在)

如果设置为 0 的列中不存在值

GROUP BY每个月和返回0,或者如果不存在每月NULL(MySQL的)

如果mysql中的另一个表上不存在数据,如何从另一个表中选择数据

获取所有数组的排列[1,1,1,1,1,0,0,0,0]

MySQL的日期不存在返回0,算多少行存在一个特定的日期

MySQL查询从表2选择行,如果不存在表1的*所有*行

基于公共列合并两个文件;为文件 2 中不存在的变体添加 0,并在存在的变体中保留原始值

从两个表MySql中用0计算值

openpyxl KeyError工作表{0}不存在

OpenPyXL错误:KeyError(工作表<0>不存在)

对于表中不存在的ID,显示COUNT = 0