当一个表具有多个值时如何联接两个表

时间:2019-01-31 22:09:30

标签: sql left-join

为什么这两个表不能与以下SQL正确连接?

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

Tables

1 个答案:

答案 0 :(得分:2)

您的声明:

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

因为是左联接,仅从 left 表中选择列。
如果您想从此联接中获得好处,还可以从 right 表中选择列,例如:

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