Esto debería funcionar para usted:
SELECT `t1`.`id` , COUNT(`t2`.`id`) AS `count`
FROM `t1` LEFT JOIN `t2` ON `t1`.`id` = `t2`.`id`
GROUP BY `t1`.`id`
La combinación izquierda garantiza que tenga todas las filas desde t1 y COUNT(t2
.id
) hace que cuente solo registros donde t2.id no es nulo (es decir, aquellos que realmente existen en t2)