Short version: I would definitely buy this book for myself.
Pros:
Possibly the best part of the book is the schematic representation of SQL queries: black boxes for tables from which data is returned, gray for which filtering conditions apply, white for "glue" tables, dark arrows for joins, dotted arrows for outer joins. It's like Feynman diagrams for databases! It allows one to see and show others inefficiencies pictorially. This is extremely efficient when you are dealing with monstrous queries.
He consistently builds on using basic principles to analyze and refactor SQL, often giving various different refactorings, some which build on each other, while others branch off in different directions. I especially like that there is a chapter named "Testing Framework."
Cons:
- Timings are for MySQL, Oracle and SQL Server. It would have been nice to have seen at least some mention of Postgres.
- Small typo: On page 129 the GNU Statistical Library is referenced. This should be the GNU Scientific Library, which indeed does have over 60 different types of random number generators. I would know 'cause I hack on the Perl bindings!
Overall:
Great book.
