SQL Queries for Mere MortalsA Hands-On Guide to Data Manipulation in SQL
This product has been replaced by SQL Queries for Mere Mortals
This title cannot be purchased online
Now there's a practical, hands-on guide to SQL for millions of beginning-to-intermediate database users who desperately need to create fast, accurate, effective queries -- whether they have formal database training or not. The authors begin by introducing the fundamental concepts underlying relational databases and SQL. They then introduce the absolute basics of SQL, including the SELECT statement, creating expressions, and applying filters. Next, they introduce techniques for solving one of the most common problems database users encounter: drawing data from multiple tables at once. The book includes detailed coverage of grouping, totaling, and summarizing data; using SQL to update, insert, and delete data; and more. In the final section, Hernandez and Viescas introduce "thinking out of the box" techniques that allow users to solve a wide variety of complex SQL problems. Most chapters end with sample problems, solutions, and result sets -- all based on a library of five real-world databases included on the accompanying CD-ROM.
In the past few years, SQL has evolved from a language known only to computer specialists to a widely used, international standard of the computer industry. The number of SQL-compatible databases shipping each year now totals in the millions. If you are accessing corporate information from the Internet or from an internal network, you are probably using SQL. SQL Queries for Mere Mortals will help new users learn the foundations of SQL queries, and will prove an essential reference guide for intermediate and advanced users. The accompanying CD contains five sample databases used for the example queries throughout the book, plus an evaluation copy of Microsoft SQL Server version 7.
Preface and Acknowledgments.
About the Authors.
Are You a Mere Mortal?About This Book.How to Use This Book.Reading the Diagrams Used in This Book.Sample Databases Used in This Book."Follow the Yellow Brick Road".
I. RELATIONAL DATABASES AND SQL.1. What Is "Relational?"
Topics Covered in This Chapter.Types of Databases.A Brief History of the Relational Model.In the Beginning . . ..Relational Database Software.Anatomy of a Relational Database.Tables.Fields.Records.Keys.Views.Relationships.What's in It for Me?"Where Do I Go from Here?"2. Ensuring Your Database Structure Is Sound.
Topics Covered in This Chapter.Why Is This Chapter Here?Why Worry about Sound Structures?Fine-tuning Fields.What's in a Name? (Part One).Smoothing Out the Rough Edges.Resolving Multipart Fields.Resolving Multivalued Fields.Fine-tuning Tables.What's in a Name? (Part Two).Ensuring a Sound Structure.Resolving Unnecessary Duplicate Fields.Identification Is the Key.Establishing Solid Relationships.Establishing a Deletion Rule.Setting the TYpe of Participation.Setting the Degree of Participation.Is That All?3. A Concise History of SQL.
Topics Covered in This Chapter.The Origins of SQL.Early Vendor Implementation.". . . And Then There Was a Standard".Evolution of the ANSI/ISO Standard.Other SQL Standards.Commercial Implementations.What the Future Holds.Why Should You Learn SQL?
II. SQL BASICS.4. Creating a Simple Query.
Topics Covered in This Chapter.Introducing SELECT.The SELECT Statement.Major Clauses in a SELECT Statement.A Quick Aside: Data vs. Information.Translating Your Request into SQL.Expanding the Field of Vision.Eliminating Duplicate Rows.Sorting Information.First Things First: Collating Sequences.Let's Now Come to Order.Saving Your Work.Sample Statements.Problems for You to Solve.5. Getting More Than Simple Columns.
Topics Covered in This Chapter.The SELECT Clause: Take Two.Specifying Explicit Values.Moving Beyond Basic Information.What Is an Expression?What Are You Trying to Express?Data Types in SQL.Types of Expressions.Concatenation.Mathematical.Date And Time Arithmetic.Using Expressions in a SELECT Clause.A Brief Digression: Value Expressions.That "Nothing" Value--NULL.Introducing Null.Sample Statements.Problems for You to Solve.6. Filtering Your Data.
Topics Covered in This Chapter.Refining What You See Using WHERE.The WHERE Clause.Using A WHERE Clause.Defining Search Conditions.Comparison.Range.Set Membership.Pattern Match.Null.Excluding Rows with NOT.Using Multiple Conditions.Introducing AND and OR.Excluding Rows: Take Two.Order of Precedence.Nulls Revisited: A Cautionary Note.Expressing Conditions in Different Ways.Sample Statements.Problems for You to Solve.
III. WORKING WITH MULTIPLE TABLES.7. Thinking in Sets.
Topics Covered in This Chapter.What Is a Set, Anyway?Operations on Sets.Intersection.Intersection in Set Theory.Intersection between Result Sets.Problems You Can Solve with INTERSECT.Difference.Difference in Set Theory.Difference Between Result Sets.Problems You Can Solve with DIFFERENCE.Union.Union in Set Theory.Combining Result Sets Using UNION.Problems You Can Solve with UNION.SQL Set Operations."Classical" Set Operations vs. SQL.Finding Common Values--INTERSECT.Finding Missing Values--EXCEPT (Difference).Combining Sets--UNION.8. INNER JOINs.
Topics Covered in This Chapter.What Is a JOIN?The INNER JOIN.What's "Legal" to JOIN?Syntax.Check Those Relationships!Uses for INNER JOINs.Find Related Rows.Find Matching Values.Sample Statements.Two Tables.More Than Two Tables.Looking for Matching Values.Problems for You to Solve.9. OUTER JOINs.
Topics Covered in This Chapter.What is an OUTER JOIN?The Left/Right OUTER JOIN.Syntax.The FULL OUTER JOIN.Syntax.FULL OUTER JOIN on Non-Key Values.UNION JOIN.Uses for OUTER JOINS.Find Missing Values.Find Partially Matched Information.Sample Statements.Problems for You to Solve.10. UNIONs.
Topics Covered in This Chapter.What Is a Union?Writing Requests with UNION.Using Simple SELECT Statements.Combining Complex SELECT Statements.Using UNION More Than Once.Sorting a UNION.Uses for UNION.Sample Statements.Problems for You to Solve.11. Subqueries.
Topics Covered in This Chapter.What Is a Subquery?Row Subqueries.Table Subqueries.Scalar Subqueries.Subqueries as Column Expressions.Syntax.An Introduction to Aggregate Functions--COUNT and MAX.Subqueries as Filters.Syntax.Special Predicate Keywords for Subqueries.Uses for Subqueries.Column Expressions.Filters.Sample Statements.Subqueries in Expressions.Subqueries in Filters.Problems for You to Solve.
IV. SUMMARIZING AND GROUPING DATA.12. Summarizing Data.
Topics Covered in This Chapter.Aggregate functions.Counting Rows and Values with COUNT.Computing a Total with SUM.Calculating a Mean Value with AVG.Finding the Largest Value with MAX.Finding the Smallest Value with MIN.Using More Than One Function.Using Aggregate Functions in Filters.Sample Statements.Problems for You to Solve.13. Grouping Data.
Topics Covered in This Chapter.Why Group Data?The GROUP BY Clause.Syntax.Mixing Columns and Expressions.Using GROUP BY in a Subquery in a WHERE Clause.Simulating a SELECT DISTINCT Statement."Some Restrictions Apply".Column Restrictions.Grouping on Expressions.Uses for GROUP BY.Sample Statements.Problems for You to Solve.14. Filtering Grouped Data.
Topics Covered in This Chapter.A New Meaning of "Focus Groups".When You Filter Makes A Difference.Should You Filter in WHERE or in HAVING?Avoiding the HAVING COUNT Trap.Uses for HAVING.Sample Statements.Problems for You to Solve.In Closing.
APPENDICES.A. SQL Standard Diagrams.
B. Schema for the Sample Databases.
C. Recommended Reading References.
Michael J. Hernandez is a program manager for the Visual Studio .NET group at Microsoft, and is a veteran relational database developer with more than fourteen years of experience. He has been a premiere instructor with training organizations such as AppDev Training Co., Focal Point, Inc., and Deep Training, and was one of the first two hundred Microsoft-authorized .NET instructors. He speaks regularly at conferences.
John L. Viescas is President of Viescas Consulting, Inc., a respected provider of database consulting services. He is also the author of the best-selling Running Microsoft Access 2000 and Programmer's Quick Reference Guide to SQL.