How about this:
Code:
SELECT * FROM names WHERE last REGEXP BINARY '^[A-D]' ORDER BY last ASC
Less bulky, but regex is generally less efficient for simple searches.
Or this should work ... with no regex ...
Code:
SELECT * FROM names WHERE SUBSTRING(last,1,1) in ('A','B','C','D') ORDER BY last ASC
Time to run a PHP/MySQL benchmark