SQL Queries for Mere Mortals: A Hands-on Guide to Data Manipulation in SQL [For Mere Mortals Series] / Edition 2
by John L. Viescas, Michael J. Hernandez
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
Overview
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 WG3the 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.
Product Details
- ISBN-13:
- 9780321444431
- Publisher:
- Addison-Wesley
- Publication date:
- 10/08/2007
- Series:
- For Mere Mortals Series
- Edition description:
- Second Edition
- Pages:
- 631
- Sales rank:
- 1,231,742
- Product dimensions:
- 7.06(w) x 9.27(h) x 1.34(d)
Table of Contents
Foreword xvii
Preface xix
About the Authors xxi
Introduction xxiii
- Are You a Mere Mortal? xxiii
About This Book xxiv
What This Book Is Not xxv
How to Use This Book xxvi
Reading the Diagrams Used in This Book xxvii
Sample Databases Used in This Book xxx
"Follow the Yellow Brick Road" xxxii
Part I: Relational Databases and SQL 1
Chapter 1: What Is Relational? 3
- Topics Covered in This Chapter 3
Types of Databases 3
A Brief History of the Relational Model 4
Anatomy of a Relational Database 6
What's in It for You? 15
Where Do You Go from Here? 16
Summary 17
Chapter 2: Ensuring Your Database Structure Is Sound 19
- Topics Covered in This Chapter 19
Why Is This Chapter Here? 19
Why Worry about Sound Structures? 20
Fine-Tuning Fields 21
Fine-Tuning Tables 30
Establishing Solid Relationships 42
Is That All? 50
Summary 51
Chapter 3: A Concise History of SQL 53
- Topics Covered in This Chapter 53
The Origins of SQL 54
Early Vendor Implementations 55
". . . And Then There Was a Standard" 56
Evolution of the ANSI/ISO Standard 58
Commercial Implementations 64
What the Future Holds 65
Why Should You Learn SQL? 65
Summary 66
Part II: SQL Basics 69
Chapter 4: Creating a Simple Query 71
- Topics Covered in This Chapter 71
Introducing SELECT 72
The SELECT Statement 73
A Quick Aside: Data versus Information 75
Translating Your Request into SQL 77
Eliminating Duplicate Rows 84
Sorting Information 87
Saving Your Work 92
Sample Statements 93
Summary 102
Problems for You to Solve 103
Chapter 5: Getting More Than Simple Columns 105
- Topics Covered in This Chapter 105
What Is an Expression? 106
What Type of Data Are You Trying to Express? 107
Changing Data Types: The CAST Function 110
Specifying Explicit Values 112
Types of Expressions 117
Using Expressions in a SELECT Clause 128
That "Nothing" Value: Null 135
Sample Statements 139
Summary 147
Problems for You to Solve 149
Chapter 6: Filtering Your Data 151
- Topics Covered in This Chapter 151
Refining What You See Using WHERE 151
Defining Search Conditions 156
Using Multiple Conditions 178
Nulls Revisited: A Cautionary Note 193
Expressing Conditions in Different Ways 197
Sample Statements 198
Summary 206
Problems for You to Solve 207
Part III: Working with Multiple Tables 211
Chapter 7: Thinking in Sets 213
- Topics Covered in This Chapter 213
What Is a Set, Anyway? 214
Operations on Sets 215
Intersection 216
Difference 222
Union 228
SQL Set Operations 233
Summary 242
Chapter 8: INNER JOINs 243
- Topics Covered in This Chapter 243
What Is a JOIN? 243
The INNER JOIN 244
Uses for INNER JOINs 262
Sample Statements 263
Summary 288
Problems for You to Solve 289
Chapter 9: OUTER JOINs 293
- Topics Covered in This Chapter 293
What Is an OUTER JOIN? 293
The LEFT/RIGHT OUTER JOIN 295
The FULL OUTER JOIN 314
Uses for OUTER JOINs 318
Sample Statements 319
Summary 335
Problems for You to Solve 335
Chapter 10: UNIONs 339
- Topics Covered in This Chapter 339
What Is a UNION? 339
Writing Requests with UNION 342
Uses for UNION 352
Sample Statements 353
Summary 365
Problems for You to Solve 366
Chapter 11: Subqueries 369
- Topics Covered in This Chapter 369
What Is a Subquery? 370
Subqueries as Column Expressions 372
Subqueries as Filters 377
Uses for Subqueries 392
Sample Statements 394
Summary 409
Problems for You to Solve 410
Part IV: Summarizing and Grouping Data 413
Chapter 12: Simple Totals 415
- Topics Covered in This Chapter 415
Aggregate Functions 416
Using Aggregate Functions in Filters 428
Sample Statements 431
Summary 438
Problems for You to Solve 439
Chapter 13: Grouping Data 441
- Topics Covered in This Chapter 441
Why Group Data? 442
The GROUP BY Clause 444
"Some Restrictions Apply" 454
Uses for GROUP BY 458
Sample Statements 459
Summary 470
Problems for You to Solve 471
Chapter 14: Filtering Grouped Data 473
- Topics Covered in This Chapter 473
A New Meaning of "Focus Groups" 474
When You Filter Makes a Difference 478
Uses for HAVING 486
Sample Statements 487
Summary 496
Problems for You to Solve 496
Part V: Modifying Sets of Data 499
Chapter 15: Updating Sets of Data 501
- Topics Covered in This Chapter 501
What Is an UPDATE? 501
The UPDATE Statement 502
Uses for UPDATE 516
Sample Statements 517
Summary 533
Problems for You to Solve 534
Chapter 16: Inserting Sets of Data 537
- Topics Covered in This Chapter 537
What Is an INSERT? 537
The INSERT Statement 539
Uses for INSERT 550
Sample Statements 552
Summary 562
Problems for You to Solve 563
Chapter 17: Deleting Sets of Data 567
- Topics Covered in This Chapter 567
What Is a DELETE? 567
The DELETE Statement 568
Uses for DELETE 575
Sample Statements 576
Summary 583
Problems for You to Solve 584
In Closing 587
APPENDICES 589
Appendix A: SQL Standard Diagrams 591
Appendix B: Schema for the Sample Databases 60
Appendix C: Date and Time Functions 607
Appendix D: Suggested Reading 615
Index 617
Customer Reviews
Average Review: