MySQL左连接-奇数问题

MySQL左连接-奇数问题,mysql,join,Mysql,Join,运行mySQL社区服务器5.5.13 使用以下查询: select t1.f1, t2.f1, t2.f2 from t1 left join t2 on (t1.f3 = t2.f3) 如果左联接在表t2中找不到匹配项,而不是在t2.f1、t2.f2的值中放入null,则实际上是将列名放入其中 有什么建议可以解释为什么会发生这种情况吗?试试这个: SELECT `t1`.`f1`, `t2`.`f1`, `t2`.`f2` FROM `t1` LEFT JOIN `t2` ON `t1`.`

运行mySQL社区服务器5.5.13

使用以下查询:

select t1.f1, t2.f1, t2.f2
from t1 left join t2 on (t1.f3 = t2.f3)
如果左联接在表t2中找不到匹配项,而不是在t2.f1、t2.f2的值中放入null,则实际上是将列名放入其中

有什么建议可以解释为什么会发生这种情况吗?

试试这个:

SELECT `t1`.`f1`, `t2`.`f1`, `t2`.`f2`
FROM `t1`
LEFT JOIN `t2` ON `t1`.`f3` = `t2`.`f3`;

你是不是只得到一行输出?我脸上的蛋。原来是t2中损坏的数据,但感谢您的回复。出于好奇,在表和字段名周围加上单引号是一种最佳做法吗?@jam,不,它看起来丑陋、蓬松、肮脏、可怕,反勾号只适用于保留字、空格或(gasp*)数字的字段名。@jam:它们不是单引号,而是反勾号。是的,你可以通过使用它们来避免很多麻烦,比如在你的列名上使用保留字。@Johan:看起来难看、蓬松、肮脏或可怕与避免麻烦是两码事。尝试命名一个列
已删除的\u项
,我们将看到它看起来有多可怕(上下文)。@Shef,我不喜欢'm,因为它们允许您将列命名为保留字。看到它们让我头晕目眩,就像视觉日记一样。是的,这是个人的偏好,我只是认为用不分青红皂白地使用背景符号来掩盖错误的列名选择不是最好的做法。