Most helpful critical review
Not good for people looking for their first book on SQL
on 10 April 1998
Most people who are looking to learn SQL want explanations of SQL and examples. A nice plus is to have strategies for making your SQL run as efficiently as possible.
The problem with this book stems from the author's involvement with the group that sets standards for SQL. For example, after providing an example of SQL on page 259, the author states: "This is a legal expression in SQL-92, but isn't yet implemented in many products."
In other words, the example is permitted by the standards group, but you are not likely to be able to use it in Oracle, Sybase, Informix, SQL Server, etc. This type of teaching is quite common among people like the author who, as is noted on the back cover, has been a member of the ANSI X3H2 Database Standards Committee since 1987.
No doubt the book is theoretically correct. But is it practical?
When explaining the GROUP BY clause in SQL, the author gives example SQL that includes the line: GROUP BY partid. People who already know SQL will wonder about this example, because in the book's sample database partid's are unique -- it makes no sense to group them.
People who already know SQL will be lucky enough to realize that this is simply a bad example. But people who are trying to learn will scratch their heads and wonder what the real life purpose of the GROUP BY statement is -- it is not apparent from this example.
Sometimes a teacher who knows his subject very well is unable to explain it in a way that is helpful to beginners. Sometimes a teacher who is caught up in theoretical aspects of his subject is unable to explain it in a practical way. The author has both of these problems.
If you already have a good working knowledge of SQL, you might gain a few insights from this book. But the emphasis here is on the word "few." For example, the chapter on "Optimization and Performance Tips" probably should be retitled, "A Beginner's Guide to Putting an SQL Query Together." To give you an idea of how poor the advice is, the last section of this chapter on optimization and performance has a Bag of Tricks, and Trick #2 is: "Don't use more tables than you have to."
That's it -- that's the complete text of Trick #2! This has to qualify as one of the top ten least helpful SQL tips of the decade. If the author was teaching cooking, I wouldn't be surprised to see this tip: "When cooking food on the stove, don't burn anything."
So, if you are just learning SQL, you can certainly find a better offering than this one. Look for books that provide real life examples. Avoid books, like this one, that go off onto tangents about things that are permitted by the SQL-92 standard but have not been implemented yet in the database you will be using.
If you already know SQL and are looking for advanced tips and tuning ideas, look elsewhere. There are lots of good books brimming with ideas on these topics. This book just isn't one of them.