运行下面的 SQL 时,任何在 placemarks 表中没有 id 匹配的 placemark_types.id 都不会在结果中返回任何内容。在地标中没有匹配记录的情况下,我试图至少将 type_count 恢复为 0。
因此,如果我的 placemark_types.name 为“警告”,并且地标表中没有“警告”,则我想获取列 | 0 | 'Warning'|
SELECT COUNT( * ) AS type_count, placemark_types.name
FROM `placemark_types`
JOIN placemarks ON placemark_types.id = placemarks.type_id
WHERE placemark_types.parent_id =0
GROUP BY placemark_types.id
Run Code Online (Sandbox Code Playgroud)
默认情况下,MySQL 执行INNER JOIN
,其中仅返回两个表中都有记录的行。
您可以执行LEFT JOIN
orRIGHT JOIN
告诉 MySQL 返回连接的一侧,即使另一侧为空。在这种情况下,您需要一个RIGHT JOIN
.
归档时间: |
|
查看次数: |
15408 次 |
最近记录: |