Good SQL Books for Mid-Career Developers
December 15, 2020 9:48 AM   Subscribe

I'm leading a small team of very smart/competent software developers. We're taking on some work that will have us interacting with a complex SQL (MS SQL / Transact SQL) database. We are not historically database people. I'd like to find a book the team can work through together for professional development, so we all skill up a bit and build shared vocabulary/language/concepts for these tasks. Any recommendations?

Mostly we'll be writing queries on complex schema we didn't design, to drive reports/dashboards. A couple of us (myself included) have at least a passing familiarity with SQL from web development in prior lives, and all of us have worked with records/tables in pandas/R/numpy, but some of us are totally new to SQL as a language, and the kinds of tasks we're being asked to contribute to go well beyond simple CRUD and foreign-key relationships. We're mostly experienced mid-career developers and all of us have deep expertise in other domains.
posted by Alterscape to Computers & Internet (8 answers total) 29 users marked this as a favorite
I found Use The Index, Luke! extremely valuable for learning SQL that went beyond the basics, particularly for performance optimization. It's not a book, but I also benefited from the Stanford Online SQL course, which is not available in the same format I took it, but looks like at least parts of it are available. It helped take me from where I could write much more sophisticated queries that scaled to larger data sets. I'd definitely recommend it for the people that haven't worked in SQL at all.
posted by Candleman at 10:53 AM on December 15, 2020

I found The Art of SQL to be helpful for deepening my understanding of SQL, especially when dealing with complex or large databases. It assumes you have a basic grounding in SQL:
This book is targeted at:

* Developers with significant (one year or, preferably, more) experience of development with an SQL database
* Their managers
* Software architects who design programs with significant database components
You may also want to read the "Assumptions This Book Makes" in the Preface (available in the "Look Inside" on Amazon). If those are a good match for your situation, then I think you'll find the book helpful. It will not be a good introduction for those on your team that are totally new to SQL, though.
posted by jedicus at 11:14 AM on December 15, 2020

For the totally-new-to-SQL people, Select Star SQL is a great introduction that only takes an hour or two to complete and walks through all the basics. It also happens to be a quiet critique of the US justice system.
posted by theodolite at 11:17 AM on December 15, 2020 [5 favorites]

Select Star SQL is a interactive explanation of various ways of analyzing data with SQL. It walks you through exercises on a real dataset, to show how you can get insight from it. The front matter gives a good explanation of the pedagogy, which should help you decide if this is the kind of thing you want.

The dataset that it looks at is about death row inmates, which could potentially render it unsuitable for a work environment, though.
posted by wesleyac at 11:18 AM on December 15, 2020 [1 favorite]

Likely not the sort of book to work through together as a group, but FWIW: I'm taking a grad level course in databases next semester in a master's program for CS folks with experience in other domains. The book we are using is this one.
posted by lazaruslong at 11:27 AM on December 15, 2020

For a group like you describe with a range of experience/exposure I'd recommend T-SQL Fundamentals by Itzik Ben-Gan. It is thorough without being too tedious, includes exercises and solutions, and it recent enough that I haven't got any real qualms with feature coverage.

T-SQL Querying (same author) is a more interesting book, in my opinion, delving deeper into topics like query optimization, statistical analysis in SQL, and generally "fancier" SQL. If the target audience were not entirely new to SQL I would recommend it instead. It is however much longer and would serve as a poor introduction to SQL for being too much in the deep end.
posted by noop at 12:33 PM on December 15, 2020

It's old and the name shows it but SQL for Smarties I've found to be a useful way for developers to see how SQL is interesting besides being important.
posted by away for regrooving at 1:46 AM on December 16, 2020

Tangential, but it looks like fun: SQL Murder Mystery
posted by the_blizz at 7:13 AM on December 16, 2020

« Older Advice for a career-changer thinking about...   |   Ideas for furnishing ground floor/entry area of... Newer »

You are not logged in, either login or create an account to post comments