SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

What I’ve Read and Recommend to Others – Joe Celko Edition

I’ve known Joe for a number of years and have a lot of respect for his experience and knowledge around relational database design and the SQL language.

Joe is a prolific writer and has been writing about technology since I was in grade school with articles going back into the early 80’s. Not to mention his ten years serving on the ANSI board for SQL standards.

I would put Joe’s books between the purely academic text on relational and set based theory and the more popular books out today that don’t always cover some of the dryer materials that newcomers to SQL may find to hard to digest at the start of their career.

If you have been working with SQL for a while and want to take the next step Joe’s books are generally the way to go.

Joe’s style is humorous at times and completely unflinching at others. When it comes to things that he thinks is the right way to model and develop using the SQL language, and that is against what popular or easy methods call for, he makes his feelings known on the subject.


Joe Celko's SQL for Smarties: Advanced SQL Programming Third Edition (The Morgan Kaufmann Series in Data Management Systems)

Now in its third edition this book covers, in detail and depth, what many other texts leave behind. This isn’t a beginners book. This isn’t a text for the dabbler in SQL.

Joe suggest at least a years worth of experience and I would qualify that as a years worth of solid 40 hour a week kind of experience. If you have mastered third normal form and want to take it to the next level this will be one of the text’s I’ll always point you to.

For those who are squeamish about a little math, get over it. I hear people say relational database work isn’t math and they are flat wrong. Just because you may not understand the math doesn’t mean it doesn’t govern every aspect of your relational world.

If you want to take a real peak behind the curtain of relational theory and cover some advanced data modeling this is as good as it gets.


Joe Celko's SQL Puzzles and Answers, Second Edition, Second Edition (The Morgan Kaufmann Series in Data Management Systems)

I liked this book because it allows you to see how many different ways there are to solve the same problem using SQL. Some of them are very interesting in the approach. It will show you how to think in other ways through the eyes of others. Any time you can get a look into how others solve issues you only build up your own problem solving skills. Plus, for a SQL geek like me I like taking the Pepsi challenge and see how I stack up.


Joe Celko's Trees and Hierarchies in SQL for Smarties, (The Morgan Kaufmann Series in Data Management Systems)

This is one of my favorite books that Joe has ever written. It covers one of the more complicated modeling issues you will come across, and come across regularly. It explains clearly trees and hierarchies, how they are the same and how they are different. Now that SQL Server 2008 has a hierarchy function don’t think it does away with this book! Joe covers lots of different methods and what works best in different situations.


Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems)

Joe takes one of the common issues new, and some intermediate, users of SQL have a hard time overcoming, sets. I would say most of us that have a background in SQL probably came from a traditional programming back ground and that means iterative thinking. Loops, lots and lots of loops. Having come from that kind of background I still consider the day I finally got functional over procedural was the day I really started down the road of being a SQL developer. 

This book can be a heard read if you are locked into procedural mindset, but if you are trying to break out and really get past the same old mistakes we all make this will help you along your path.


Joe Celko's SQL Programming Style (The Morgan Kaufmann Series in Data Management Systems)

Here we are again, Joe tackles a subject that gets glossed over in many other texts if it gets touched on at all. One of the keys of this book is helping you develop a consistent and predictable way to get the data in and out of your system. Even though this book is on style part of that is understanding set based architecture.  Even if you understand the math behind normalization that doesn’t mean you understand the data that goes into it. Even if you don’t agree with everything in this book it will help you focus on the data, consistency and improve you as a SQL developer.


Joe Celko's Analytics and OLAP in SQL (The Morgan Kaufmann Series in Data Management Systems)

The concept of this particular work is to help transition the online high transaction, high volume database developer over to the analytical side of data aggregation and warehousing. Some folks think because they understand databases in an OLTP environment they can move easily in to OLAP. I’m here to testify that isn’t as easy as it sounds. Joe covers the concepts and some of the newer SQL syntax available in the ANSI-99 standard. Not all of it is available in SQL Server but it is a solid introduction to data warehousing and how to put your general SQL skills to use in the OLAP world.
This book is based on materials in SQL for Smarties. It expands on some of the topics covered there. 


I hope you enjoy these books as much as I have, over the years I have relied on Joe and others like him to build my own knowledge base and skills. I also have tried to share that knowledge like Joe has for so many years to others who want it.

SQL Man of Mystery

Wes Brown is a PASS chapter leader and SQL Server MVP. He writes for SQL Server Central and maintains his blog at http://www.sqlserverio.com. Wes is Currently serving as a Senior Lead Consultant at Catapult Systems. Previous experiences include Product Manager for SQL Litespeed by Quest software and consultant to fortune 500 companies. He specializes in high availability, disaster recovery and very large database performance tuning. He is a frequent speaker at local user groups and SQLSaturdays.


Posted by Anonymous on 13 September 2009

Pingback from  Dew Drop – Weekend Edition – September 12-13, 2009 | Alvin Ashcraft's Morning Dew

Posted by Anonymous on 14 September 2009

Pingback from  My Weekly Bookmarks for September 14th | Brent Ozar - SQL Server DBA

Posted by Steve Jones on 14 September 2009

Thanks for the recommendations, and I'd agree that Joe has some great things to say if you want to improve your SQL skills.

Posted by stephane.thinel on 15 September 2009

I really appreciate when there is explanations why a book is recommended. I almost always use these articles to help me choose what I will read.  Thank you for this article

Posted by Wesley Brown on 15 September 2009

Thank you very much for the feedback.

I try never to recommend a book or an author without some reason as to why I read it. That doesn't always translate to you will like to read it but every little peek into a book before you sink fifty bucks into it is nice.

Posted by R L Reid on 18 September 2009

Wesley - Thanks for the info on the Celko books.  If you really want to get into the math (which is actually fun, and I say that as a former "C-" math student), you might like "Applied Mathematics for Database Professionals".  Just reading the introduction is fabulous, as is the Foreward from Darwen and Date - in which they outline their arguments with some of the content while enthusiatically supporting the book's existance.  (The arguments are between people who know what they are talking about and respect each other vs the normal "discussions" about SQL and RDBMS among programmers).  

Actually, this kind of post is a fine idea, and I'll go do my Own Darn Post about what I'm reading.  (I was starting to think I was the only Information Systems person on earth who still read...)

Thanks again, I'll pick up some of those.


Posted by Phil Factor on 18 September 2009

Joe has taught me a great deal about SQL programming. I don't always do what he advises but I do, at least, feel guilty when I err from Celko's sage advice. He is also a very pleasant guy to talk to, with a dry sense of humour.

These books should be on every Database developer's bookshelf. I'd particularly recommend 'Programming Style' though all of his books are valuable.

Posted by paul.kohlmiller on 18 September 2009

Just checked my e-mail and in my "saved" folder the oldest e-mail is from Joe Celko - January 2002.

Posted by paul.kohlmiller on 18 September 2009

Just checked my e-mail and in my "saved" folder the oldest e-mail is from Joe Celko - January 2002.

Posted by Adam Gojdas on 18 September 2009

Why don't I have a choice to add this to my SqlServerCentral briefcase?  Is this option only available with articles?  I would have like to add this to mine.

Posted by sjsubscribe on 19 September 2009

Joe's contribution is unmatched in the sense that new comers can start off on the right path and old timers can unlearn old habits. Through these books, Joe presents multiple approaches to the same fundamental principles no matter what our level of expertise in SQL.

Posted by David Lean on 20 September 2009

I agree I too have most of Joe's books. He is one of the two authors that produce very insightful way's of solving problems with SQL.

The other is Itzik Ben-Gan, his background in Pure Maths - SET theory gives him a unique insight. Definately worth putting a few of his books in your library too.

Posted by YSLGuru on 23 September 2009

One extra note to add about Joe:

If you are new to Joe and his work and are unfamiliar with how he responds (i.e. replies to user posts) you need to be forwarned that you should not take personal anything he posts.  He's brillian in the area of SQL and set based theory/programming & the like but his personality, at least in textual items like forum posts, can be harsh if not out right insulting at times.  Therefore if you see something that would normally be considered offensive, just pretend your corresponding with a computer that uses logic and no feelings.  

Not every post he makes is like this, just the ones where he clearly has seen a post on the "common mistakes procedural coders make with set based logic" like excessive use of cursors.

Leave a Comment

Please register or log in to leave a comment.