Depends a lot on the database you're using, complexity of what needs to be done, and the amount of data you'll be manipulating. It's easy to write garbage SQL on a small data set and have that perform reasonably fast. Add in a few million/billion more rows, thousands more users, and you'll find that full table scans, holding records for update, row/table locks can all bring a production box to its knees. That being said, for the most basic of basic queries where you don't care about performance, it's ridiculously easy to learn.