Book review: SQL Hacks by <i>Andrew Cumming and Gordon Russell</i>

Book review: SQL Hacks by Andrew Cumming and Gordon Russell


SQL is the de facto method of accessing relational data within databases. Databases have been around for many years, and consequentially many many books have been written about them. However, SQL Hacks: Tips & Tools for Digging into Your Data by Andrew Cumming and Gordon Russell sets itself apart through format, easy-going style, and ability to cover lots of tips, tricks, and hacks with Structured Query Language. The O'Reilly Press Hacks Series book covers SQL for MySQL, Microsoft SQL Server, Oracle, PostgreSQL, and Microsoft Access. It covers 100 hacks which will definitely add to your SQL toolkit, and it will help give you ideas of how to solve related issues in writing queries.

The book's cover The book's cover

I find "SQL Hacks" to be very useful and easy to follow. It uses the same textual conventions of the other "Hacks" books from O'Reilly. Where needed, the hacks address different databases, and any potential changes that you might need to make to your query. Another feature I find useful is a "hacking a hack" section. Certain hacks can be taken a step further, helping you solve other potential challenges.

The text also includes SQL code that you can use with several databases. The authors clearly state the different syntactical differences between how the different databases interpret SQL.

"SQL Hacks" has great snippets of SQL to help you solve real-world issues

The contents

"SQL Hacks" continues the hacks series of O'Reilly books. It contains 100 hacks spread out in 12 different chapters. The text itself is very easy to read. SQL statements are notated with a monospace font, making them easy to distinguish from discussion. The book weighs in at 410 pages.

Here is an example. One of the hacks described how to multiply numbers in a SELECT query. The SQL-92 standard (which the book tried to follow as much as possible) doesn't provide a multiplication operator, but it does provide exponent and logarithmic functions. Using log/exponent functions, you can use these standard functions to create a mathematical equivalent. The added benefit is that this hack is not reliant on SQL which only functions on some particular database.

The hacks in the book are grouped into 12 subject areas, including topics like how to manipulate the database with SQL from a command-line, or protecting yourself from online attacks when the database is accessible over the Internet. The book also covers areas such as date/time manipulation, text string manipulation, but also meta database hacks such as auto creating users, checking up on long running database queries, and more.

Another hack that I enjoyed reading was finding a particular day of the month, such as the second Tuesday of a given month. The "hacking the hack" was to find the last Thursday of a month. With a little math, knowing what month and year, a little SQL does the trick.

Who's this book for?

This book is geared towards readers who like the 'How do I?' style of the Hacks series as opposed to a reference manual style. People who work day after day with writing reports, queries, analyses will benefit because the hacks provide some neat functions. If you are just starting with SQL and relational databases, you are probably better served to look elsewhere.

Relevance to free software

The book provides hacks on SQL, which is nearly identical across multiple databases. The book balances itself between free and proprietary databases, including MySQL, PostgreSQL, Oracle, Microsoft SQL Server and Microsoft Access. Free databases are not necessarily favored or promoted over the proprietary ones, but SQL query differences are very well documented if the hack requires a special function.

Pros

You should buy this book because it has a lot of great information on writing snippets of SQL to solve problems normally solved at the application level. The authors explain things very clearly, and the examples are easy to follow.

Cons

If you are looking for a beginning book in SQL and databases, this isn't the right fit for you. It is also not a reference book.

Book
Title SQL Hacks
Author Andrew Cumming and Gordon Russell
Publisher O'Reilly
ISBN 9780596527990
Year 2006
Pages 410
CD included No
FS Oriented 8
Overall score 9

In short

Category: 
Tagging: 
License: 

Author information

Jeremy Turner's picture

Biography

Jeremy Turner enjoys freelance writing when given the opportunity. He often plays system administrator, hardware technician, programmer, web designer, and all-around nice guy. You contact him by visiting his web site.

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!