首页 > 解决方案 > 当一个表有多个值时如何连接两个表

问题描述

为什么这两个表不能用下面的 SQL 正确连接?

SELECT o.*
FROM opening_hours o
LEFT JOIN farms f ON o.farm_id = f.id
WHERE f.id = 69

表

标签: sqlleft-join

解决方案


您的声明:

SELECT o.*
FROM opening_hours o
LEFT JOIN farms f ON o.farm_id = f.id
WHERE f.id = 69

创建一个无用的连接,它相当于:

SELECT * FROM opening_hours WHERE farm_id = 69

因为它是只从左表中选择列的左连接。
如果你想从这个连接中得到一些东西,也可以从右表中选择列,比如:

SELECT o.*, f.*
FROM opening_hours o
LEFT JOIN farms f ON o.farm_id = f.id
WHERE f.id = 69

推荐阅读