It all depends on what he should do.
If he is the only programmer it may be useful if he knows a little about all the techniques used. But then you can't expect him to know everything about anything.
If he should do very specialized tasks I suggest a programmer that knows only the thing he should know, in other words only SQL if he should dig deep into databases.
If you want someone that doesn't demand that high salary then you should think about a person right out of college. But that person doesn't know how to program in real projects, everything will take longer and he will make more faults that have to be corrected.
To make it simple: It all depends on how you want him to work. There is no "do this" or "do that" answer.