You are previewing SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL, Second Edition.
O'Reilly logo
SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL, Second Edition

Book Description

Unless you are working at a very advanced level, this is the only SQL book you will ever need. The authors have taken the mystery out of complex queries and explained principles and techniques with such clarity that a "Mere Mortal" will indeed be empowered to perform the superhuman. Do not walk past this book!
--Graham Mandeno, Database Consultant

SQL Queries for Mere Mortals provides a step-by-step, easy-to-read introduction to writing SQL queries. It includes hundreds of examples with detailed explanations. This book provides the tools you need to understand, modify, and create SQL queries
--Keith W. Hare, Convenor, ISO/IEC JTC1 SC32 WG3--the International SQL Standards Committee

I learned SQL primarily from the first edition of this book, and I am pleased to see a second edition of this book so that others can continue to benefit from its organized presentation of the language. Starting from how to design your tables so that SQL can be effective (a common problem for database beginners), and then continuing through the various aspects of SQL construction and capabilities, the reader can become a moderate expert upon completing the book and its samples. Learning how to convert a question in English into a meaningful SQL statement will greatly facilitate your mastery of the language. Numerous examples from real life will help you visualize how to use SQL to answer the questions about the data in your database. Just one of the "watch out for this trap" items will save you more than the cost of the book when you avoid that problem when writing your queries. I highly recommend this book if you want to tap the full potential of your database.
--Kenneth D. Snell, Ph.D., Database Designer/Programmer

I don't think they do this in public schools any more, and it is a shame, but do you remember in the seventh and eighth grades when you learned to diagram a sentence? Those of you who do may no longer remember how you did it, but all of you do write better sentences because of it. John Viescas and Mike Hernandez must have remembered because they take everyday English queries and literally translate them into SQL. This is an important book for all database designers. It takes the complexity of mathematical Set Theory and of First Order Predicate Logic, as outlined in E. F. Codd's original treatise on relational database design, and makes it easy for anyone to understand. If you want an elementary- through intermediate-level course on SQL, this is the one book that is a requirement, no matter how many others you buy.
--Arvin Meyer, MCP, MVP

Even in this day of wizards and code generators, successful database developers still require a sound knowledge of Structured Query Language (SQL, the standard language for communicating with most database systems). In this book, John and Mike do a marvelous job of making what's usually a dry and difficult subject come alive, presenting the material with humor in a logical manner, with plenty of relevant examples. I would say that this book should feature prominently in the collection on the bookshelf of all serious developers, except that I'm sure it'll get so much use that it won't spend much time on the shelf!
-- Doug Steele, Microsoft Access Developer and author

Over the last several decades, SQL has evolved from a language known only to computer specialists to a widely used international standard of the computer industry. The number of new applications deployed each year using SQL now totals in the millions. If you are accessing corporate information from the Internet or from an internal network, you are probably using SQL. This new edition of SQL Queries for Mere Mortals helps new users learn the foundations of SQL queries, and is an essential reference guide for intermediate and advanced users.

The accompanying CD contains five sample databases used for the example queries throughout the book in four different formats: Microsoft SQL Server 2000 and later, Microsoft Access 2000 and later, MySQL version 5.0 and later, and SQL scripts that can be used with most other implementations of the language.

Table of Contents

  1. Copyright
  2. Praise for SQL Queries for Mere Mortals®, Second Edition
  3. Addison-Wesley presents the For Mere Mortals® Series
  4. Foreword
  5. Preface
  6. Acknowledgments
  7. About the Authors
  8. Introduction
    1. Are You a Mere Mortal?
    2. About This Book
    3. What This Book Is Not
    4. How to Use This Book
    5. Reading the Diagrams Used in This Book
    6. Sample Databases Used in This Book
  9. Relational Databases and SQL
    1. What Is Relational?
      1. Types of Databases
      2. A Brief History of the Relational Model
      3. Anatomy of a Relational Database
      4. What’s in It for You?
      5. Summary
    2. Ensuring Your Database Structure Is Sound
      1. Why Is This Chapter Here?
      2. Why Worry about Sound Structures?
      3. Fine-Tuning Fields
      4. Fine-Tuning Tables
      5. Establishing Solid Relationships
      6. Is That All?
      7. Summary
    3. A Concise History of SQL
      1. The Origins of SQL
      2. Early Vendor Implementations
      3. “... And Then There Was a Standard”
      4. Evolution of the ANSI/ISO Standard
      5. Commercial Implementations
      6. What the Future Holds
      7. Why Should You Learn SQL?
      8. Summary
  10. SQL Basics
    1. Creating a Simple Query
      1. Introducing SELECT
      2. The SELECT Statement
      3. A Quick Aside: Data versus Information
      4. Translating Your Request into SQL
      5. Eliminating Duplicate Rows
      6. Sorting Information
      7. Saving Your Work
      8. Sample Statements
      9. Summary
      10. Problems for You to Solve
    2. Getting More Than Simple Columns
      1. What Is an Expression?
      2. What Type of Data Are You Trying to Express?
      3. Changing Data Types: The CAST Function
      4. Specifying Explicit Values
      5. Types of Expressions
      6. Using Expressions in a SELECT Clause
      7. That “Nothing” Value: Null
      8. Sample Statements
      9. Summary
      10. Problems for You to Solve
    3. Filtering Your Data
      1. Refining What You See Using WHERE
      2. Defining Search Conditions
      3. Using Multiple Conditions
      4. Nulls Revisited: A Cautionary Note
      5. Expressing Conditions in Different Ways
      6. Sample Statements
      7. Summary
      8. Problems for You to Solve
  11. Working with Multiple Tables
    1. Thinking in Sets
      1. What Is a Set, Anyway?
      2. Operations on Sets
      3. Intersection
      4. Difference
      5. Union
      6. SQL Set Operations
      7. Summary
    2. INNER JOINs
      1. What Is a JOIN?
      2. The INNER JOIN
      3. Uses for INNER JOINs
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
    3. OUTER JOINs
      1. What Is an OUTER JOIN?
      3. The FULL OUTER JOIN
      4. Uses for OUTER JOINs
      5. Sample Statements
      6. Summary
      7. Problems for You to Solve
    4. UNIONs
      1. What Is a UNION?
      2. Writing Requests with UNION
      3. Uses for UNION
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
    5. Subqueries
      1. What Is a Subquery?
      2. Subqueries as Column Expressions
      3. Subqueries as Filters
      4. Uses for Subqueries
      5. Sample Statements
      6. Summary
      7. Problems for You to Solve
  12. Summarizing and Grouping Data
    1. Simple Totals
      1. Aggregate Functions
      2. Using Aggregate Functions in Filters
      3. Sample Statements
      4. Summary
      5. Problems for You to Solve
    2. Grouping Data
      1. Why Group Data?
      2. The GROUP BY Clause
      3. “Some Restrictions Apply”
      4. Uses for GROUP BY
      5. Sample Statements
      6. Summary
      7. Problems for You to Solve
    3. Filtering Grouped Data
      1. A New Meaning of “Focus Groups”
      2. When You Filter Makes a Difference
      3. Uses for HAVING
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
  13. Modifying Sets of Data
    1. Updating Sets of Data
      1. What Is an UPDATE?
      2. The UPDATE Statement
      3. Uses for UPDATE
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
    2. Inserting Sets of Data
      1. What Is an INSERT?
      2. The INSERT Statement
      3. Uses for INSERT
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
    3. Deleting Sets of Data
      1. What Is a DELETE?
      2. The DELETE Statement
      3. Uses for DELETE
      4. Sample Statements
      5. Summary
      6. Problems for You to Solve
    4. In Closing
  14. Appendices
    1. SQL Standard Diagrams
    2. Schema for the Sample Databases
      1. Sales Orders Database
      2. Entertainment Agency Database
      3. School Scheduling Database
      4. Bowling League Database
      5. Recipes Database
    3. Date and Time Functions
      1. IBM DB2
      2. Microsoft Office Access
      3. Microsoft SQL Server
      4. MySQL
      5. Oracle
    4. Suggested Reading
      1. Database Books
      2. Books on SQL
  15. Index