下面是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
?
提前致谢〜:)
答案 0 :(得分:2)
您的查询等同于以下内容:
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
。
答案 1 :(得分:1)
当您显示示例查询并且您说它工作正常时。对于它,您应该使用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."'";