Counting first letter of title and printing letters from a to z
Fiddle is currently broken again, but you should do the count as early as possible  -> Inner instead of more expensive Outer join and less rows to join.

SELECT l.letter AS firstLetter
  -- return 0 for missing letters
  ,Coalesce(lc.cnt,0) AS itemCount
FROM letter AS l
LEFT OUTER JOIN 
 ( -- count letters before join
   SELECT Left(i.Title,1) AS letter
     ,Count(*) AS cnt
   FROM item AS i -- no Outer Join needed
   JOIN item_tag AS it
     ON it.item_id = i.id
    AND it.tag_id = 1
   GROUP BY Left(i.Title,1)
 ) AS lc
ON lc.letter = l.letter