Mysql 我需要一个查询,当一个字段共用时,该查询将返回两个表中的所有行和所有列

Mysql 我需要一个查询,当一个字段共用时,该查询将返回两个表中的所有行和所有列,mysql,Mysql,我在MySQL中有一个简单的任务。我有两张桌子t1和t2。表t1有一列与表t2相同。 我想要的是返回两个表中的所有列顺序并不重要,但要确保两个表的行都基于公共字段(比如fieldx)匹配。然而,并非表t1中的所有行在表t2中都有匹配的行,即表t1中有更多的行,但t2中的所有行在t1中都有匹配的行 我试着使用where作为: 从t1中选择t1.*t2.*,其中t1.fieldx=t2fieldx 但是,这只返回表t2中的行数 我还尝试了右联接和左联接,但也无法通过这种方式使其工作,因为这两个表的所

我在MySQL中有一个简单的任务。我有两张桌子t1和t2。表t1有一列与表t2相同。 我想要的是返回两个表中的所有列顺序并不重要,但要确保两个表的行都基于公共字段(比如fieldx)匹配。然而,并非表t1中的所有行在表t2中都有匹配的行,即表t1中有更多的行,但t2中的所有行在t1中都有匹配的行

我试着使用where作为:

从t1中选择t1.*t2.*,其中t1.fieldx=t2fieldx

但是,这只返回表t2中的行数

我还尝试了右联接和左联接,但也无法通过这种方式使其工作,因为这两个表的所有列都没有包括在内

如何执行此操作?

左连接将提供t1中的所有行,如果t2没有条目,则t2列将显示为空:

这是上面提到的一个例子,正如您在t2中看到的,我只引用了t1的前3条记录,因此为什么t2的其余信息为空,因为给定的t1条目没有t2记录

我想返回两个表中的所有列,但顺序不是 重要信息,但请确保两个表的行都匹配 基于公共字段,例如fieldx

此查询可解决以下问题:

SELECT t1.* t2.* FROM t1 INNER JOIN t2 WHERE t1.fieldx = t2fieldx
此外,如果下一个短语为true,您也可以尝试使用LEFT-OUTER-JOIN或RIGHT

但是t2中的所有行在t1中都有一个匹配的行


我不明白为什么在我的表上运行这些命令时,我仍然只得到行数,因为表t2中有行。所以我不知道所有的行。。。arghhh,这一整天都在遭受痛苦。@oaklander114如果你能在我的现场演示中使用该网站重现这个问题,我也许能看到u的进展情况。-更新:它正在工作。最后,我只是查看了错误的输出文件。非常感谢。很高兴你把它整理好了;
SELECT t1.* t2.* FROM t1 INNER JOIN t2 WHERE t1.fieldx = t2fieldx
SELECT t1.* t2.* FROM t2 LEFT OUTER JOIN t1 WHERE t1.fieldx = t2fieldx