What makes this Fourth Edition to the Practical SQL series special is the approach to teaching SQL shared by all the editions in this series. The same statements and queries are covered by many SQL texts, but not with the same clarity or teaching philosophy.
Beginning programmers are often unaware that much of programming goes according to what I like to call "programmer lore." The accumulated tradition of practices that are not written down in any book of algorithms but handed down from programmer to programmer in back rooms and online discussion groups. This largely "oral tradition" that exists within the culture of programming is essential to developing real world applications. This handed down knowledge is essential because most authors follow their own academic interests in the more theoretical while most programmers are too busy to write down daily practice. As the foreword says, the idea for this edition is to reclaim this knowledge and present it as if folk wisdom handed down from a master chef.
I will not delve into the specifics of each chapter or repeat here the SQL concepts taught within, because all SQL books purport to teach the same elements. What makes this book different is the way it follows a set of principles designed to make learning easier.
The explanations are clearly presented in plain language without any unexplained buzzwords or digressions into mathematical theory. With each topic, the author starts with basics then follows through with more advanced concepts in a seamless manner without condescension.
The chapters concentrate on teaching how to do the things everyone needs to do, answering the frequently asked questions beginners have without cutting corners on relational principles. Practicality is the watchword where another author might be tempted to explain only idealized forms.
This books fits perfectly with my philosophy of learning. The explanations take the reader from beginning to advanced level seamlessly. They do not forego advanced concepts, "dumbing down" to the perceived level of the beginner. They do not try to "protect" the beginner from advanced concepts, but explain them with the same clarity as the novice ones, using language that anyone reading a newspaper could understand. In Practical SQL, both beginning and advanced concepts get the same plain language treatment. Even advanced programmers benefit from simple, clear explanations shorn of arcane jargon and obtuse concepts.
Another thing I believe in is providing copious example code for the learner. They first run to the code to see what it does, then later they can modify the code in order to expand upon it, using it as a prototype (an important concept in learning, making things your own; another is modeling, using the prototype to create your own useful tools). Practical SQL is filled with examples presented in a clear style with improved presentation. Examples are flagged by side heads and use larger type. In addition, tips appear occasionally. A lot of thought went into making the text readable and accessible.
I am a heavy user of MySQL and found the previous Third Edition of Practical SQL extremely helpful in understanding complex queries as well as understanding the limits and advantages of MySQL in comparison to the features of other enterprise servers. Like the consultant who wrote the forward, I find myself picking up Practical SQL when I have trouble with a complicated query, despite having worked with SQL for several years. I expect the Fourth Edition to be no less helpful.
You will not learn the details of web programming from this edition, but you will be left with a better understanding of the relational model and the language that drives your web applications. All without being required to wade through a lot of mathematical jargon. However, the author never compromises relational principles for simplification.
There is no doubt that you should have this book if you work with SQL in any way.