MySQL:如果第二个表中没有匹配的行,如何从第一个表中选择一行



表 1(数字主键(:

  • ID-1, 编号-123, 名称-ASD
  • ID-2, 编号-124, 名称-ASD

表2(数字可以重复,id包(:

  • ID-1, 编号-123, 名称-ASD
  • ID-2, 编号-123, 名称-DAS
  • ID-3, 编号-124, 名称-RRR
  • ID-4, 编号-124, 名称-ASX

想要的输出:

124, asd

我必须将第一个表行与第二个表中的行进行比较。

如果第 1 行不等于第二个 where a.number = b.number 中的每一行,那么我们应该执行 select * from table1 .

如果我们找到一个匹配的行(在表 1 和表 2 之间(,那么我们不应该执行上面找到的选择查询。

更新: 我怎样才能比较这样的 3 张桌子?

一个简单的选择左连接两个表,并筛选第二个表没有数据的行应该会给出您想要的结果。

SELECT *
FROM table1 a
LEFT JOIN table2 b
    ON a.number = b.number AND a.name = b.name
WHERE b.id IS NULL

相关内容

  • 没有找到相关文章

最新更新