作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
案例我收到以下查询:
SELECT * FROM `parking_parking`
JOIN `parking_address` ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3
此查询选择有关 parking 场的信息(有关 parking 场本身的地址和数据)
总的来说..它有效!
问题
虽然有一个小问题..每本地址已从数据库中删除并且 parking 场本身仍然存在时。整个查询返回 0。仅仅是因为它查找和 A AND B 链接。但是,如果一个没有找到,第二个也不会被归还。
现在有一个解决方案..存在
但是我不知道怎么用。
我试过:
EXISTS JOIN
JOIN EXISTS
JOIN `parking_address` ON EXISTS
但是没有用。
我希望(并猜测)我忽略了一件小事。
Note
!! I do not use this in real life! !!
SELECT * FROM
I did this one when I was still at the veeeery basics and I found out the hard way that even the simplest pages took ages to load.
解决方案: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
) .这将返回所有parkings,如果没有匹配的address,将只返回地址字段的null
:
SELECT * FROM `parking_parking`
LEFT JOIN `parking_address`
ON `parking_parking`.`parking_address` = `parking_address`.`address_id`
WHERE `parking_id` = 3
关于MySQL Join AND EXISTS 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489437/
我是一名优秀的程序员,十分优秀!