表 sharet: 列
id
user
blocked
texte
time_add
表 sondage 列
id
qst
respons
user
time_add
我想获取两个表的内容。但是,当我使用左关节时,它什么都没有,因为其中一个表是空的,我怎么能解决它?我想得到所有表的内容,即使其中一个是空的!!!
答案 0 :(得分:4)
假设两个表之间的关系基于用户列 然后,如果你不知道桌子是空的,但无论如何都要反过来结果 你可以在倒置连接之间使用联合
select sharet.*, sondage.*
from sharet
left join sondage on sondage.user = sharet.user
UNION
select sharet.*, sondage.*
from sondage
left join sharet on sondage.user = sharet.user
在两个表的内连接和两个表之间不匹配的行的左连接之间使用联合
select sharet.*, sondage.*
from sharet
inner join sondage on sondage.user = sharet.user
UNION
select sharet.*, sondage.*
from sharet
left join sondage on sondage.user = sharet.user and sharet.user is null
UNION
select sharet.*, sondage.*
from sondage
left join sharet on sondage.user = sharet.user and sondage.user is null