People have a tough time thinking in sets. This applies to developers as well. This is why people constantly fight the relational paradigm; you end up with things like CouchDB or OODBs because they make more sense to developers. It's easier to reason about an object than it is about a set of data.
I've been working on writing a bunch of "SQL from the ground up" postings, but I keep getting side-tracked with another project I'm working on and I haven't had a blog in years to post it on. Besides that, 99% of all the SQL work I've done has been in Sybase, MS-SQL and Oracle; so I'm not sure how relevant T-SQL & PL/SQL are to MySQL or Postgres. I'm assuming the basics are all the same though (which is to say ANSI compliant).