John L. Viescas is an independent consultant with more than 40 years of experience. He began his career as a systems analyst, designing large database applications for IBM mainframe systems. He spent six years at Applied Data Research in Dallas, Texas, where he directed a staff of more than 30 people and was responsible for research, product development, and customer support of database products for IBM mainframe computers. While working at Applied Data Research, John completed a degree in business finance at the University of Texas at Dallas, graduating cum laude.
John joined Tandem Computers, Inc., in 1988, where he was responsible for the development and implementation of database marketing programs in Tandem's U.S. Western Sales region. He developed and delivered technical seminars on Tandem's relational database management system, NonStop SQL, in a geographic area spanning Hawaii to Colorado and Alaska to Arizona. John wrote his first book, A Quick Reference Guide to SQL (Microsoft Press, 1989), as a research project to document the similarities in the syntax among the ANSI-86 SQL standard, IBM's DB2, Microsoft's SQL Server, Oracle Corporation's Oracle, and Tandem's NonStop SQL. He wrote the first edition of Running Microsoft Access (Microsoft Press, 1992) while on sabbatical from Tandem. He has since written four editions of Running, two editions of Microsoft Office Access Inside Out (Microsoft Press, 2004 and 2007--the successor to the Running series), and Building Microsoft Access Applications (Microsoft Press, 2005).
John formed his own company in 1993. He provides information systems management consulting for a variety of small to large businesses around the world, with a specialty in the Microsoft Access and SQL Server database management products. He maintains offices in Nashua, New Hampshire, and Paris, France. He has been recognized as a "Most Valuable Professional" every year since 1993 by Microsoft Product Support Services for his assistance with technical questions on public support forums.
You can visit John's Web site at www.viescas.com.
Michael J. Hernandez is a veteran database developer with more than 20 years of experience developing applications for a wide variety of clients in diverse industries. Mike specializes in relational database design and is the author of the best-selling database design book Database Design for Mere Mortals, Second Edition (Addison-Wesley, 2004). He has worked with SQL throughout his career, developing applications using SQL-based databases such as Microsoft Access and Microsoft SQL Server. He has also been a contributing author and technical editor to various database-related books and periodicals.
Mike became a full-time employee at Microsoft in 2002. He initially was the Community Program Manager for the Visual Studio Tools for Office (VSTO) Team, leading and managing the team's developer community engagement efforts. In 2006, Mike became the Product Manager for VSTO, becoming responsible for helping to guide the strategic future of the product and promoting VSTO to customers and developers via a variety of venues. As he has done so often throughout his career, Mike often speaks at developer events, conferences, and user group meetings across the nation and around the world.
In a previous life, Mike had a career as a musician and performed for audiences far and wide. He attributes both his easygoing presentation style and his ability to connect with an audience to his days as a performer. Ever the musician, Mike formed a band from members of the VSTO team and gets to play his beloved guitar before new crowds and audiences. He still tinkers on his guitar quite a bit, stealing a few minutes here and there between meetings at work. Mike enjoys the little things in life, such as spending long hours at Barnes & Noble, sipping a tall Americano at Starbucks, puffing on a fine cigar, and riding his mountain bike along with his wife, Kendra.
Foreword | p. xvii |
Preface | p. xix |
About the Authors | p. xxi |
Introduction | p. xxiii |
Are You a Mere Mortal? | p. xxiii |
About This Book | p. xxiv |
What This Book Is Not | p. xxv |
How to Use This Book | p. xxvi |
Reading the Diagrams Used in This Book | p. xxvii |
Sample Databases Used in This Book | p. xxx |
"Follow the Yellow Brick Road" | p. xxxii |
Relational Databases and SQL | p. 1 |
What Is Relational? | p. 3 |
Topics Covered in This Chapter | p. 3 |
Types of Databases | p. 3 |
A Brief History of the Relational Model | p. 4 |
Anatomy of a Relational Database | p. 6 |
What's in It for You? | p. 15 |
Where Do You Go from Here? | p. 16 |
Summary | p. 17 |
Ensuring Your Database Structure Is Sound | p. 19 |
Topics Covered in This Chapter | p. 19 |
Why Is This Chapter Here? | p. 19 |
Why Worry about Sound Structures? | p. 20 |
Fine-Tuning Fields | p. 21 |
Fine-Tuning Tables | p. 30 |
Establishing Solid Relationships | p. 42 |
Is That All? | p. 50 |
Summary | p. 51 |
A Concise History of SQL | p. 53 |
Topics Covered in This Chapter | p. 53 |
The Origins of SQL | p. 54 |
Early Vendor Implementations | p. 55 |
". . . And Then There Was a Standard" | p. 56 |
Evolution of the ANSI/ISO Standard | p. 58 |
Commercial Implementations | p. 64 |
What the Future Holds | p. 65 |
Why Should You Learn SQL? | p. 65 |
Summary | p. 66 |
SQL Basics | p. 69 |
Creating a Simple Query | p. 71 |
Topics Covered in This Chapter | p. 71 |
Introducing SELECT | p. 72 |
The SELECT Statement | p. 73 |
A Quick Aside: Data versus Information | p. 75 |
Translating Your Request into SQL | p. 77 |
Eliminating Duplicate Rows | p. 84 |
Sorting Information | p. 87 |
Saving Your Work | p. 92 |
Sample Statements | p. 93 |
Summary | p. 102 |
Problems for You to Solve | p. 103 |
Getting More Than Simple Columns | p. 105 |
Topics Covered in This Chapter | p. 105 |
What Is an Expression? | p. 106 |
What Type of Data Are You Trying to Express? | p. 107 |
Changing Data Types: The CAST Function | p. 110 |
Specifying Explicit Values | p. 112 |
Types of Expressions | p. 117 |
Using Expressions in a SELECT Clause | p. 128 |
That "Nothing" Value: Null | p. 135 |
Sample Statements | p. 139 |
Summary | p. 147 |
Problems for You to Solve | p. 149 |
Filtering Your Data | p. 151 |
Topics Covered in This Chapter | p. 151 |
Refining What You See Using WHERE | p. 151 |
Defining Search Conditions | p. 156 |
Using Multiple Conditions | p. 178 |
Nulls Revisited: A Cautionary Note | p. 193 |
Expressing Conditions in Different Ways | p. 197 |
Sample Statements | p. 198 |
Summary | p. 206 |
Problems for You to Solve | p. 207 |
Working with Multiple Tables | p. 211 |
Thinking in Sets | p. 213 |
Topics Covered in This Chapter | p. 213 |
What Is a Set, Anyway? | p. 214 |
Operations on Sets | p. 215 |
Intersection | p. 216 |
Difference | p. 222 |
Union | p. 228 |
SQL Set Operations | p. 233 |
Summary | p. 242 |
Inner Joins | p. 243 |
Topics Covered in This Chapter | p. 243 |
What Is a JOIN? | p. 243 |
The Inner Join | p. 244 |
Uses for Inner Joins | p. 262 |
Sample Statements | p. 263 |
Summary | p. 288 |
Problems for You to Solve | p. 289 |
Outer Joins | p. 293 |
Topics Covered in This Chapter | p. 293 |
What Is an Outer Join? | p. 293 |
The Left/Right Outer Join | p. 295 |
The Full Outer Join | p. 314 |
Uses for Outer Joins | p. 318 |
Sample Statements | p. 319 |
Summary | p. 335 |
Problems for You to Solve | p. 335 |
Unions | p. 339 |
Topics Covered in This Chapter | p. 339 |
What Is a Union? | p. 339 |
Writing Requests with Union | p. 342 |
Uses for Union | p. 352 |
Sample Statements | p. 353 |
Summary | p. 365 |
Problems for You to Solve | p. 366 |
Subqueries | p. 369 |
Topics Covered in This Chapter | p. 369 |
What Is a Subquery? | p. 370 |
Subqueries as Column Expressions | p. 372 |
Subqueries as Filters | p. 377 |
Uses for Subqueries | p. 392 |
Sample Statements 394 Summary | p. 409 |
Problems for You to Solve | p. 410 |
Summarizing and Grouping Data | p. 413 |
Simple Totals | p. 415 |
Topics Cover | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.