Mysql fk为空时如何显示空值

Mysql fk为空时如何显示空值,mysql,null,Mysql,Null,我有一个MySQL表,其中有两个fk引用到另一个表 type1不能为空,但type2可以为空。两者都是M_类型表的fk 它用两种类型显示katachi,但当它用一种类型显示katachi,第二种类型为null时,它会忽略它 所以我把代码改成了这个 M_TYPE *Id int type_name varchar(40) 现在,当涉及到两种类型的katachi时,它会显示m_type表中的每个元素,我希望它只显示null使用两个查询的联合,一个用于两个FK都被填充的情况,另一

我有一个MySQL表,其中有两个fk引用到另一个表

type1不能为空,但type2可以为空。两者都是M_类型表的fk 它用两种类型显示katachi,但当它用一种类型显示katachi,第二种类型为null时,它会忽略它

所以我把代码改成了这个

M_TYPE *Id int type_name varchar(40)
现在,当涉及到两种类型的katachi时,它会显示m_type表中的每个元素,我希望它只显示null

使用两个查询的联合,一个用于两个FK都被填充的情况,另一个用于一个FK的情况

select 
    k.name, 
    t1.type_name as type1, 
    t2.type_name as type2
from katachi k, m_type t1, m_type t2
where k.type1=t1.id and k.type2=t2.id;
select 
    k.name, 
    t1.type_name as type1, 
    t2.type_name as type2
from katachi k, m_type t1, m_type t2
where k.type1=t1.id and k.type2=t2.id;
select 
    k.name, 
    t1.type_name as type1, 
    t2.type_name as type2
from katachi k, m_type t1, m_type t2
where k.type1=t1.id and (k.type2=t2.id or k.type2 is null);
SELECT k.name, t1.type_name AS type1, t2.type_name AS t2
FROM katachi AS k
JOIN m_type AS t1 ON k.type1 = t1.id
JOIN m_type AS t2 ON k.type2 = t2.id
UNION ALL
SELECT k.name, t.type_name AS type1, NULL AS type2
FROM katachi AS k
JOIN m_type AS t ON k.type1 = t.id
WHERE k.type2 IS NULL