下面是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."'";