当从两个以上的表中获取数据时,我应该一直使用LEFT JOIN吗


should i use LEFT JOIN all the time when obtaining the data from more than two tables?

下面是MySQL 的示例

SELECT A.hospital_id, A.name, A.distance, B.name, A.near_gate 
FROM hospital A, station B 
WHERE A.campus='".$campus."' 
      AND A.category='".$category."' 
      AND A.station = B.id

这个例子确实很好用,但是可以使用这个例子吗马上,还是我应该加一个单词LEFT JOIN

提前感谢~:)

您的查询等效于以下内容:

SELECT A.hospital_id, A.name, A.distance, B.name, A.near_gate 
FROM hospital A
JOIN station B ON A.station = B.id
WHERE A.campus='".$campus."' AND A.category='".$category."'

这是一个内部JOIN,而不是LEFT JOIN

更新

实际上,FROM table1, table2应该导致CROSS JOIN。然而,数据库引擎非常聪明,能够从WHERE部分中找出应该使用哪个条件来确定JOIN条件,并将其更改为INNER JOIN

当您显示示例查询时,您说它工作正常。为此,您应该使用JOIN,而不是LEFT JOIN。以下是查询:

SELECT A.hospital_id, A.name, A.distance, B.name, A.near_gate 
       FROM hospital A JOIN station B ON A.station = B.id 
            WHERE A.campus='".$campus."' AND A.category='".$category."'";