MySQL Join AND EXISTS 组合

标签 mysql join exists

案例 我收到以下查询:

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/

相关文章:

php - MySQL 文本搜索示例

elasticsearch - 在 Elasticsearch 中组合(独立)索引

mysql - 在具有多个连接的 SQL 中按商品选择最低价格

JavaScript 如果 var 存在

mysql添加某些产品的总价

php - mysql 内连接中的 while 循环

sql - 使用 Zend DB 编写子查询

MySQL - 另一种减少连接数量的方法? - 或简写语法

mysql - 结合 LIKE 和 EXISTS?

SQL Server : IF EXISTS massively slowing down a query