Php 如何选择另一个表中没有匹配项的行(即使其中一个表为空)

Php 如何选择另一个表中没有匹配项的行(即使其中一个表为空),php,mysql,Php,Mysql,我有两张这样的桌子: 表sharet: 带柱 id user blocked texte time_add id qst respons user time_add 表sondage 带柱 id user blocked texte time_add id qst respons user time_add 我想得到两张表的内容。但当我使用左关节时,它什么也不给,因为其中一个表是空的,我如何解决它??我想得到所有表的内容,即使其中一个是空的 假设两个表之间的关系基于用户列 然后,如果您不

我有两张这样的桌子:

sharet: 带柱

id
user
blocked
texte
time_add
id
qst
respons
user
time_add
sondage 带柱

id
user
blocked
texte
time_add
id
qst
respons
user
time_add

我想得到两张表的内容。但当我使用左关节时,它什么也不给,因为其中一个表是空的,我如何解决它??我想得到所有表的内容,即使其中一个是空的

假设两个表之间的关系基于用户列 然后,如果您不知道表的哪个部分是空的,但无论如何都希望返回结果 可以在反向连接之间使用并集

  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

假设两个表之间的关系基于用户列 然后,如果您不知道表的哪个部分是空的,但无论如何都希望返回结果 可以在反向连接之间使用并集

  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
嗨,斯佳里奇,当两个表中的行数相等时,你给出的规则很有效,如果不是,就给我更多的结果。如何解决它!!!嗨,斯佳里奇,当两个表中的行数相等时,你给出的规则很有效,如果不是,就给我更多的结果。如何解决它!!!