Structured query language (SQL) allows programmers to interact with a data repository through a relational database management system (RDBMS). The language of SQL is divided into 20 easy chapters. It also includes three appendices about installing and running three RDBMSs: Microsoft (MS) SQL Server, Oracle, and MySQL.
Chapter 1 introduces the relational database model as a collection of tables composed from data records (also know as entities, tuples, or rows) and related through the records’ identifiers (known as keys), and provides a brief history of its inception. Chapter 2 introduces the reader to the best-known SQL statement (that is, the select statement, which retrieves data from a RDBMS) and its varieties of implementations in MS SQL Server, Oracle, and MySQL. This kind of implementation style is maintained throughout the book. Chapters 3 and 4 talk about performing calculations, transformations, and manipulations on data attributes (that is, columns, also known as fields, that constitute tables).
Chapter 5 introduces the SQL statement of sorting data, while the very interesting chapters 6 through 9 introduce the reader to conditional statements and conditional logic (for example, Boolean and arithmetic logic) in order to define selection criteria to retrieve the desired data in a RDBMS. Chapter 9 presents aggregation (which means summarization of data in views like averages, sums, maximum, minimum, count, and so on) that is a very important aspect of SQL grammar. Chapter 10 is a little bit advanced, but I encourage readers to either skip it (if a novice) or refresh their memory about it (if an expert) because it implements cross tables, an intriguing subject for an SQL programmer since it is well elaborated in sophisticated database applications and deserves a lot of attention. In fact, cross tables are very useful for advanced data retrieval and analysis.
Chapters 11 to 15, the core of the book, are essential for every SQL programmer because they literally deal with combining entities through a RDBMS--a minimum prerequisite for programmers involved in databases who want to excel and consider themselves SQL programmers. Chapter 16 is extremely important because it tackles stored procedures--a programmer can only comprehend this SQL feature’s value after years of experience in building business and data retrieval applications, as it can minimize the overhead of an application layer and achieve atomicity of data commitment. SQL programmers must grasp this feature in order to consider themselves true, well-learned, established, and advanced SQL programmers.
Last but not least, an essential tool for an SQL programmer is the knowledge of deleting, updating, or creating new data; this is well explained in chapter 18. Chapter 19 talks about database design, which is very important because it highlights the benefits of organizing data. It also has a section on the importance of normalizing data. Finally, chapter 20 focuses on Excel, including importing data from a database to it, creating pivot tables, and showing data using Excel charts.
I recommend this book to anyone who wants to refresh their memory about SQL. Newcomers to the field of relational databases who don’t want to be overloaded with mathematical theory will also want to read it.