La bonne façon dans ce cas est la façon dont vous le faites, puisque toute la requête SQL est connue et statique
Vous n'êtes pas obligé d'utiliser Zend_Db_Select
pour générer des requêtes de façon procédurale. En fait, c'est souvent plus complexe et moins lisible que de taper simplement la requête SQL littérale.
Utilisez Zend_Db_Select
lorsque vous avez besoin de pour créer une requête de procédure, en fonction des variables et de la logique dans votre code d'application.
Mais pour répondre à votre question, cela devrait fonctionner:
$select = $db->select()
->from(array('c'=>'clubs'))
->join(array('p'=>'club_photos_default'), 'c.id=p.c_id')
->group('c.id');
$this->q->fetchAll($select);
(En supposant $db
est un objet de Zend_Db_Adapter
.)