left join 查询count 连接的表显示1
时间: 2023-11-27 17:53:30 浏览: 66
LEFT JOIN 查询语句返回的结果集中,如果连接的表中没有匹配的行,则返回 NULL 值。如果你在使用 COUNT 函数进行计数时,连接的表中没有匹配的行,那么 COUNT 函数返回的结果就是 0,而不是显示 1。
如果你在 LEFT JOIN 查询时,想要返回的结果集中显示 1,可以使用 IFNULL 函数来实现。例如:
```
SELECT t1.id, IFNULL(COUNT(t2.id), 0) as count
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.table1_id
GROUP BY t1.id;
```
这个查询语句会返回 table1 表中每个 id 对应的 table2 表中匹配的行数,如果没有匹配的行,则返回 0。如果想要显示 1,可以将 IFNULL 函数的第二个参数设置为 1,例如:
```
SELECT t1.id, IFNULL(COUNT(t2.id), 1) as count
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.table1_id
GROUP BY t1.id;
```
这个查询语句会返回 table1 表中每个 id 对应的 table2 表中匹配的行数,如果没有匹配的行,则返回 1。
阅读全文