69 of 71 people found the following review helpful
on March 4, 2006
I like the way "Learning SQL" is written. Sure, facts are presented, but the author does a masterful job of telling you how and why those facts exist. In addition, the conversational tone of the book proceeds along the path you'd expect from a real conversation: from the simpler to the more complex, in a logical and sensical path. (Okay, so most conversations don't fall into that category. But this book sure does, so do yourself a favor and buy it!)
Oh, and one more thing related to being pressed for time: it's not the technical-typical 700+ pages, it's just a few hundred.
68 of 74 people found the following review helpful
on October 7, 2005
If you're writing any type of database driven code and you think that you don't need to understand SQL, read this book. You do need to understand it, and this book teaches it very well.
Man, I'm so tired of cleaning up bad SQL code. Code that makes hundreds of queries when one would suffice. Or tables that have no primary keys. Or code that never makes use of joins. SQL is not horrible. It's worth understanding and knowing how to write well.
This book is well written, well illustrated, and makes learning SQL as pain-free as it can be. Please, please, please, read this book.
145 of 166 people found the following review helpful
on August 28, 2006
It seems like most of the people writing reviews for this book already know databases to some degree. I didn't, so I'd like to share my experience.
This book takes an old-school, grammatical approach to the SQL language, grouping related commands into chapters, then explaining each, one by one.
This makes the first part of the book exhilarating. You go to the O'Reilly website and download a database to work on, and immediately you are querying, updating, etc, using the examples from the book. SQL at first seems refreshingly direct and powerful compared to the (OO) programming languages I know.
However, the 'a command followed by long verbal explanation" approach completely falls apart when the content goes even a little deeper. For me, the book took a nosedive at the first "Joins" chapter, and never recovered.
It was then I realized that I had not yet firmly grasped what a 'foreign key" was, so it was hard to get my head around the the idea of a join.
A simple graph would have helped at many points, but there are no graphs.
Nor are the code examples embedded in meaningful contexts or test cases. Indeed, the reasons for writing the code are almost in every case revealed AFTER the code is shown ("in that last query, the intent was..."), and the code is never commented, which makes it harder to understand and retain. And without any context, it is difficult to understand WHY to use one command over another. It seems like you can skin a cat a million ways in SQL--so why prefer one kind of filtering to another? Performance, readability, what?
I guess it sounds like I just wanted this book to be a 'Head First'-type book, and that's true. But even on its own terms, this book is frustrating. Its pure emphasis on the language somehow skips syntax, and the long verbal explanations are constantly seesawing away from themselves ("as we will see", "as we have seen").
I've finished the book and feel reasonably confident about using SQL now. So this book is serviceable...but unnecessarily painful, too.
21 of 21 people found the following review helpful
To all my Notes/Domino developer colleagues, here's a tip you already know... it's time to learn SQL. If it's been on your list of "things to learn or brush up on", I'd recommend the book Learning SQL by Alan Beaulieu. It's an excellent way to get up to speed (or *back* up to speed).
Contents: A Little Background; Creating and Populating a Database; Query Primer; Filtering; Querying Multiple Tables; Working with Sets; Data Generation, Conversion, and Manipulation; Subqueries; Joins Revisited; Conditional Logic; Transactions; Indexes and Constraints; ER Diagram for Example Database; MySQL Extensions to the SQL Language; Solutions to Exercises; Further Resources; Index
Notes/Domino 7 incorporates the ability to store your Domino data in a DB2 repository. Then using Data Access Views, you can create application views that use SQL statements to generate the selection formula. While you don't absolutely *have* to know SQL, it'd be a good time to start adding that skill to your repertoire. Beaulieu's book is a clearly written tutorial on SQL that uses the open source MySQL database package to teach you the necessary skills. I like the decision to use MySQL, as it's something that's free and available to everyone. Trying to get DB2 up and running can be difficult, and it's definitely overkill if you're just trying to learn SQL. When you finish this book, you'll know all the key concepts that will allow you get data out of (and put data into) any relational database table out there. Obviously that's a valuable skill to have in your toolbox...
So... commit to picking up a new skill or two in the upcoming year. I'd recommend that one of those skills be a fundamental knowledge of SQL, and Learning SQL can help you get there.
14 of 14 people found the following review helpful
Over the past 30+ years programming languages (popular ones) have come, gone, and new ones seem to appear every couple of years or so. FORTRAN, COBOL, Pascal, C, C++, Java, and now C#... the question isn't IF the next big language is going to come but WHEN. While the way we program has changed, the de facto standard for talking and creating databases hasn't changed much since the early 70s when SQL was created. While refined and standardized several times since its inception, SQL remains the tried and true backbone way of communicating with all databases, whether they are Oracle, SQL Server, MYSql, Access, etc.
For this reason, it is not only important, but I believe ESSENTIAL for all developers in this day and age to come quickly up to speed and learn what SQL is because no matter who you are, at some point (probably sooner than later) you will have to use SQL in your development career. Back when I was introduced to SQL in the mid 90s I knew nothing of what SQL was, thrown into it by immediately looking at SELECT queries, INSERTS, and so on. I would have loved some overview teaching guide to help me get my feet wet, instead learning the hard way.
Have no fear, those days are over.
With 'Learning SQL', Alan Beaulieu gives a great overview of what SQL is and what makes it so important in the world today. More than any other programming language, databases are what keeps the world moving on a daily basis, whether it's the financial sector, health care, government, etc. No matter where you using a computer, you will be accessing a database and for that data to be grabbed and manipulated, you will need to use SQL to make your calls/updates.
O'Reilly has a storied tradition of making great "Learning" books, and the same can easily be said here as well. I find it amazing that it took so long for a Learning SQL book to come out, but sometimes it's better to wait and let the finished product be even better with age.
History of SQL (background)
Creating and populating a database
Using SELECT statements to get data
Filtering data with conditions
Querying multiple tables at once
Working with sets (UNIONS et al)
Data generation, conversion, manipulation
JOINS in detail
Adding conditional logic
The importance of Transactions
Performance gains via Indexes and Constraints
For anyone that isn't a SQL expert, this is a great refresher for all. For anyone that is new or an amateur in their SQL careers, this book is absolutely a gem.
This should be required reading for all database 101 students, and I give it an A+ for not only the content within but the simplicity with which it is to read.
***** HIGHEST POSSIBLE RECOMMENDATION
13 of 14 people found the following review helpful
on November 12, 2006
Caution, the book presumes readers understand databases organize data in tables and SQL inserts, updates, queries and deletes the data. If you do understand that but struggle with SQL syntax, this book is a great summary of SQL. It is well organized, clearly written with working examples to get you started quickly.
The book is more or less focused on MySQL and Oracle syntax, which means Itzik Ben-Gan's book on T-SQL is a better alternative for SQL Server folks. Also, advanced non-portable features are not well developed for either MySQL or Oracle.
It is rated 4 because it fails to explain the when and why in some places.
7 of 7 people found the following review helpful
on June 29, 2006
I bought "Learning SQL" in order to begin to prepare myself for the Microsoft Certification Exam for SQL Server 2005. I had some prior knowledge of SQL, but almost exclusively in writing SELECT statements. "Learning SQL" broadened my knowledge with its simple, easy to follow chapters. All of the important concepts are explained, and the examples given are very clear and intuitive.
The best part about this book is that it also introduced me to MySQL. The command-line interface was at first daunting, but then focused me on the code and syntax and nothing else. The sample code available for free online also provides an excellent companion for this book, as the hands-on approach is undoubtedly the best way to cement the concepts. The exercises at the end of the chapters gave me confidence and assurance.
Overall, "Learning SQL" is a terrific book for people looking to bridge the gap to understanding SQL beyond clumsy SELECT statements to a much more comprehensive knowledge.
7 of 7 people found the following review helpful
I have used a variety of SQL applications for over a decade now, and always used the reference documentation from the vendor. That does work just fine, but it left me ignorant of the greater SQL market, tools that the versions I was using didn't have, and better ways of dealing with common problems.
I have never found such an easy to comprehend explanation of the types of joins. I read this book 3 months ago, and just yesterday pulled it off my shelf to write a moderately complex query. I still could have done the job without it, but then I would have had to write 20 more lines of perl code, instead of one well written query.
I am a better SQL DBA having read the book, and its a valuable reference. How much more could I ask?
6 of 6 people found the following review helpful
on January 4, 2010
The header on the front page of this book says "A Pain-Free Introduction to SQL..." and that's what the book exactly is.
The book introduces and discusses SQL statements for DB creation, population, querying - and subquerying -, data generation, conversion and manipulation. The SQL statements are illustrated through practical sound examples all the way long. In each section where a new topic is addressed, the author reveals the SQL statement that implements or illustrates it, discusses the whys and hows, then comments on the actual results returned by the database after the statement is executed. Although the statement examples are run on MySQL and author assumes version 4.1.11 or later will be used, running them on another DB and/or version should not be a problem as the statements are mainly based on ANSI SQL syntax, except for a few identified as such. MySQL extensions to the ANSI SQL syntax are addressed in an appendix.
Although I found all parts of the book are useful and worth reading, I believe Chapter 10 on Joins alone justifies the cost of this book. As one of the statements used most in the querying of actual DB applications, if you need good understanding and proper handling of Joins, you ought to read this one.
This is an introductory book to SQL, not to databases. Preliminary basic knowledge on data modeling, tables, indexes, etc. will be helpful understanding the contents of it. Precisely because this is an introductory book, you'll definitely need additional advanced SQL readings - e.g. SQL Cookbook - and your particular database product's SQL reference and its extensions to the language - e.g. T-SQL for MS SQL Server - for serious SQL querying in your DB application.
6 of 6 people found the following review helpful
on July 2, 2006
This book is easy to read, easy to follow and has practice problems at the end of every chapter with the answers in the back. What more could one ask for?
I learned basic to somewhat intermediate SQL very quickly with the help of this book. I highly recommend it!