我有一个从两个表中选择的 MYSQL 查询。第二个表可能不一定具有与第一个表匹配的连接 ID。让我们以这两个为例:
++++++++++++++++++
table: t1
column: id
column: test_id
column: info
table t2
column: t2id
column: test_id
column: extra_info
++++++++++++++++++
我将以下这些行插入到表中(目前这只是伪):
insert into t1 values (1, 4, "asd")
insert into t1 values (2, 25, "dfg")
insert into t2 values (1, 25, "123")
现在我的目标是将两个表连接在一起,但我遇到了连接问题。如果第二个表 (t2) 似乎没有匹配的行,它会使原始表中的连接列为 NULL?为什么要这样做?这是一个示例查询:
SELECT * FROM `t1` LEFT JOIN `t2` ON (`t1.test_id` = `t2.test_id`) WHERE `t1.id` = 1;
现在,如果它们匹配,我绝对没有问题,但是由于某种原因,如果不存在任何行,则 t1 中的 test_id 被设置为 NULL ...如果有要加入的东西,我的目标是加入这两个表。 编辑:如果没有要加入的内容,那么我只想通过将所有 t2 列设置为 NULL 或仅返回 t1 数据来从 t1 返回数据。 我需要做一个子查询吗?如果是这样,那会是什么?谢谢 :)