Jump to ratings and reviews
Rate this book

Joe Celko's SQL Programming Style

Rate this book
Are you an SQL programmer that, like many, came to SQL after learning and writing procedural or object-oriented code? Or have switched jobs to where a different brand of SQL is being used, or maybe even been told to learn SQL yourself? If even one answer is yes, then you need this book. A "Manual of Style" for the SQL programmer, this book is a collection of heuristics and rules, tips, and tricks that will help you improve SQL programming style and proficiency, and for formatting and writing portable, readable, maintainable SQL code. Based on many years of experience consulting in SQL shops, and gathering questions and resolving his students’ SQL style issues, Joe Celko can help you become an even better SQL programmer.

Paperback

First published April 17, 2005

5 people are currently reading
67 people want to read

About the author

Joe Celko

28 books16 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
18 (34%)
4 stars
16 (30%)
3 stars
13 (25%)
2 stars
2 (3%)
1 star
3 (5%)
Displaying 1 - 2 of 2 reviews
174 reviews4 followers
March 12, 2016
I like some of the underlying ideas in this book. I may not be qualified to quibble about some of the ideas that I don't agree with. But I do feel qualified to quibble about some of the topical coverage, and certainly about the presentation of material. I found the book frustrating enough that I started making negative notes only a few pages in.


Coverage (note that I read the 2005 edition):
-Even for 2005 it is surprising that Oracle, Sybase, SQL Server, "IBM" (presumably DB2?) are mentioned repeatedly while open source products (e.g. MySQL, maybe PostgreSQL at that time) are literally never mentioned.

-There is a fundamental assumption that even in a multi-tiered environment the database encapsulates significant business/domain logic. Even if this is Celko's background, I would appreciate some intelligent discussion understanding that this isn't always the case.

-Chapters on measurement and encoding seem arbitrarily shoved into the middle of the book, as topics that Celko wanted to mention but not integrate into the text. Maybe this shouldn't be surprising since the book doesn't even attempt to establish a general progression of ideas or story arc.

-The very limited section on dynamic SQL ("don't do it") doesn't mention the idea of parameterization/bind parameters. This seems irresponsible even with the general admonition.

Presentation:
For a book that is about programming style, which is fundamentally about organization of information at all scales (typographical, conceptual, everything in between), this book just sucks. The presentation details seriously impact the ability to absorb the material- simple ideas become difficult to understand and difficult ideas become impossible.

-Many sections lack basic explanations of terminology that Celko might believe is standard, but that Googling in 2016 doesn't help with.
-Some short sections I could not even identify what the topic WAS

-Examples are terrible
-Sometimes no example of a complex concept
-Sometimes a positive example but no negative example of what is being argued against
-Sometimes a negative example but no positive example after the "right" way is described conceptually
-When there are positive and negative examples
-Often many changes are made, making it difficult to pick out what is the change being illustrated
-"Bad", "a little better", and "best" are not clearly indicated outside of the prose- at a glance you could assume that any of them were negative or positive examples

-Many rules have an "Exceptions" section in prose- at a glance it is unclear if there are three paragraphs discussing one class of exceptions, or multiple classes of exceptions.

-Long examples often break across pages, making them nearly unreadable. Especially difficult when the thing being illustrated is indentation!

-Some sections would be perfect for a single positive example that is built up piece by piece to illustrate multiple points, but this technique is never used

-At least one case has a typo (probably a "=" that was intended to be ">=") that is confusing enough to make several paragraphs of discussion useless

-The text indentation structure, based on numbered sections, does little to make the sections clear but means that the actual content is indented so far that SQL code often is very narrow and forces unnecessary line breaks that hurt readability


Also, the general tone is pretty asshole-ish, but I knew that from Amazon reviews already. It is not clear whether he asked for permission before calling out some forum posters by name.

I was so frustrated by this book that I might go review it on Amazon just out of spite.

In the book's defense, I will still give the two other Joe Celko books that I picked up for a few dollars on half.com a try- but with very low expectations.

Joe might do well to read "BadAss: Making Users Awesome" by Kathy Sierra, or the works of Edward Tufte.

Update: I realized that two stars was too generous for what this book is. I will still take a look at some of Celko's other books because he clearly knows his SQL, but that doesn't make this book any better.
Profile Image for Biju Jose.
5 reviews
December 3, 2012
A good book for understanding some basic concepts in sql especially for SQL programmers ,list some useful tips to write a code and some indentation techniques. but i felt a little difficult to understand some parts especially sql portability , great write good presentation of concepts etc.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.