I've done tons of development with SQL and I also used a unified development environment called 4D (4th Dimension).
I think there are two issues:
1) Defining the problem adequately. This is a fundamental tenet of software development but frequently overlooked.
2) Trying to do too much with a SQL query. What I've seen too often is developers who try to cram all their solutions into a single query. Depending on how you're driving your queries, there may be better ways to do it.
Remember, applications are nothing without their data. If you're dealing with SAN-connected data you're dealing in different query styles than you are with direct attached storage. either way you need to create responsive data to applications - so I don't think database is any more'difficult' than any other tech craft, I just think it's probably one of the more mysterious because nobody sees it but they sure feel the effects if it's done poorly.