派生した疑似テーブルとして日付を列挙できます(UNIONを使用) )そしてそれをあなたのデータと結合します
SELECT dates.date, COALESCE(attendance.total,0) AS total FROM (
SELECT '2012-07-02' AS date
UNION ALL SELECT '2012-07-03'
UNION ALL SELECT '2012-07-04'
) AS dates
LEFT JOIN attendance USING(date)
編集:COALESCEを追加 0を返す NULLの代わりに 不足しているレコードについて。