Para hacer esto, necesita una combinación externa. Por cierto, la forma en que está escribiendo su consulta con una combinación implícita está desactualizada y ya no se recomienda. Se recomienda utilizar la palabra clave JOIN. Esto también facilita el cambio de una unión interna a una unión externa.
FROM categories AS sc
LEFT JOIN products AS s
ON s.ownerid=sc.id
Para devolver 0 en lugar de NULL use IFNULL(..., 0)
. La consulta completa se convierte en:
SELECT
sc.*,
IFNULL(MIN(s.price), 0) AS minp,
IFNULL(MAX(s.price), 0) AS maxp
FROM categories AS sc
LEFT JOIN products AS s
ON s.ownerid = sc.id
GROUP BY sc.id
También puede considerar si sería mejor devolver el NULL predeterminado en lugar de 0 para las categorías que no tienen productos.