Je pense que ce qui suit le fera pour vous, même si je ne l'ai pas testé. L'astuce consiste à obtenir le nombre de propriétés dans une table, puis à joindre à gauche cette table à la table des villes, en convertissant les valeurs NULL en 0 à l'aide de IFNULL fonction.
SELECT city_name, IFNULL(property_count, 0)
FROM cities
LEFT JOIN
(SELECT id_city, count(*) as property_count
FROM properties
GROUP BY id_city) city_properties
USING (id_city);