案例我收到以下查询:
SELECT * FROM `parking_parking`
JOIN `parking_address` ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3
该查询选择关于停车场的信息(关于停车场本身的地址和数据(
总的来说。。它有效!
问题
不过有一个小问题。。只要地址已从数据库中删除,并且停车场本身仍然存在。整个查询返回0。只是因为它查找和AandB作为链接。但如果一个没有找到,第二个也不会被退回。
现在有一个解决方案。。存在
但是我不知道如何使用它。
我试过了:
EXISTS JOIN
JOIN EXISTS
JOIN `parking_address` ON EXISTS
但无济于事。
我希望(并且猜测(我忽略了一件小事。
注意
我在现实生活中不使用这个!!
SELECT * FROM
当我还在学习veeeery基础知识时,我就做了这个,我发现即使是最简单的页面也需要很长时间才能加载
解决方案:GolezTrol
SELECT * FROM `parking_parking`
LEFT JOIN `parking_address` ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3
将join
(inner join
的缩写(更改为left join
(=left outer join
(。这将返回所有停车,如果没有匹配的地址:,则只返回地址字段的null
SELECT * FROM `parking_parking`
LEFT JOIN `parking_address`
ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3