Needed to brush up on my SQL (specifically, the DB2 variety), so I picked up this book. After the first couple hundred pages, technical errors started popping up everywhere: apparently + is the operator for addition and subtraction. And "birthday > '1950-03-20' AND birthday < '1960-03-20'" means a birthday between 1970 and 1980. The book is awash in these.
There's a lot of testing before teaching, where they ask how you think a task can be accomplished, and then explain the actual syntax of the command. This helps the learning stick, since you compare your mental model with reality. But it's completely unhelpful when they quiz you at the beginning of chapter 7 on how to completely alter a table design, then spend all of chapter 8 explaining something you had to figure out on your own 100 pages ago.
The only thing keeping this from being a single star is that it's somewhat entertaining. Otherwise, the pacing is muddled, many elementary topics are skipped, and a lot of the example relationships are just wrong.
The syntax is heavily MySQL-oriented, which they point out themselves in the intro, but there's enough cross-RDBMS notes that it's a good general introduction to SQL. Unfortunately, syntax from other implementations is never explained. There's just copious notes scattered throughout saying "check your RDBMS-specific documentation". RTFM? Thanks for the advice.
If you want to learn any SQL, pick up a good MySQL-specific book and learn that first. Then read the technical docs for your specific implementation. I recommend PHP and MySQL Web Development from Addison Wesley. O'Reilly's other intro database book, Learning PHP and MySQL, is riddled with errors too.