Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Cover Page Title Page Copyright Page Contents at a Glance Contents Foreword Preface Acknowledgments About the Author Introduction
Are You a Mere Mortal? About This Book What This Book Is Not How to Use This Book Reading the Diagrams Used in This Book Sample Databases Used in This Book
“Follow the Yellow Brick Road”
PART I: RELATIONAL DATABASES AND SQL
Chapter 1: What Is Relational?
Topics Covered in This Chapter Types of Databases A Brief History of the Relational Model
In the Beginning … Relational Database Systems
Anatomy of a Relational Database
Tables Columns Rows Keys Views Relationships
What’s in It for You?
Where Do You Go from Here?
Summary
Chapter 2: Ensuring Your Database Structure Is Sound
Topics Covered in This Chapter Why Is this Chapter Here? Why Worry about Sound Structures? Fine-Tuning Columns
What’s in a Name? (Part One) Smoothing Out the Rough Edges Resolving Multipart Columns Resolving Multivalued Columns
Fine-Tuning Tables
What’s in a Name? (Part Two) Ensuring a Sound Structure Resolving Unnecessary Duplicate Columns Identification Is the Key
Establishing Solid Relationships
Establishing a Deletion Rule Setting the Type of Participation Setting the Degree of Participation
Is That All? Summary
Chapter 3: A Concise History of SQL
Topics Covered in This Chapter The Origins of SQL Early Vendor Implementations “… 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? Which Version of SQL Does this Book Cover? Summary
PART II: SQL BASICS
Chapter 4: Creating a Simple Query
Topics Covered in This Chapter Introducing SELECT The SELECT Statement A Quick Aside: Data versus Information Translating Your Request into SQL
Expanding the Field of Vision Using a Shortcut to Request All Columns
Eliminating Duplicate Rows Sorting Information
First Things First: Collating Sequences Let’s Now Come to Order
Saving Your Work Sample Statements Summary Problems for You to Solve
Chapter 5: Getting More Than Simple Columns
Topics Covered in This Chapter What Is an Expression? What Type of Data Are You Trying to Express? Changing Data Types: The CAST Function Specifying Explicit Values
Character String Literals Numeric Literals Datetime Literals
Types of Expressions
Concatenation Mathematical Expressions Date and Time Arithmetic
Using Expressions in a SELECT Clause
Working with a Concatenation Expression Naming the Expression Working with a Mathematical Expression Working with a Date Expression A Brief Digression: Value Expressions
That “Nothing” Value: Null
Introducing Null The Problem with Nulls
Sample Statements Summary Problems for You to Solve
Chapter 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 Checking for Overlapping Ranges
Nulls Revisited: A Cautionary Note Expressing Conditions in Different Ways Sample Statements Summary Problems for You to Solve
PART III: WORKING WITH MULTIPLE TABLES
Chapter 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 an Intersection
Difference
Difference in Set Theory Difference between Result Sets Problems You Can Solve with Difference
Union
Union in Set Theory Combining Result Sets Using a Union Problems You Can Solve with Union
SQL Set Operations
Classic Set Operations versus SQL Finding Common Values: INTERSECT Finding Missing Values: EXCEPT (DIFFERENCE) Combining Sets: UNION
Summary
Chapter 8: INNER JOINs
Topics Covered in This Chapter What Is a JOIN? The INNER JOIN
What’s “Legal” to JOIN? Column References 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
Summary Problems for You to Solve
Chapter 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 Summary Problems for You to Solve
Chapter 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 Summary Problems for You to Solve
Chapter 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
Build Subqueries as Column Expressions Use Subqueries as Filters
Sample Statements
Subqueries in Expressions Subqueries in Filters
Summary Problems for You to Solve
PART IV: SUMMARIZING AND GROUPING DATA
Chapter 12: Simple Totals
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 Summary Problems for You to Solve
Chapter 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 Summary Problems for You to Solve
Chapter 14: Filtering Grouped Data
Topics Covered in This Chapter A New Meaning for “Focus Groups” Where You Filter Makes a Difference
Should You Filter in WHERE or in HAVING? Avoiding the HAVING COUNT Trap
Uses for HAVING Sample Statements Summary Problems for You to Solve
PART V: MODIFYING SETS OF DATA
Chapter 15: Updating Sets of Data
Topics Covered in This Chapter What Is an UPDATE? The UPDATE Statement
Using a Simple UPDATE Expression A Brief Aside: Transactions Updating Multiple Columns Using a Subquery to Filter Rows
Some Database Systems Allow a JOIN in the UPDATE Clause
Using a Subquery UPDATE Expression
Uses for UPDATE Sample Statements Summary Problems for You to Solve
Chapter 16: Inserting Sets of Data
Topics Covered in This Chapter What Is an INSERT? The INSERT Statement
Inserting Values Generating the Next Primary Key Value Inserting Data by Using SELECT
Uses for INSERT Sample Statements Summary Problems for You to Solve
Chapter 17: Deleting Sets of Data
Topics Covered in This Chapter What Is a DELETE? The DELETE Statement
Deleting All Rows Deleting Some Rows
Uses for DELETE Sample Statements Summary Problems for You to Solve
PART VI: INTRODUCTION TO SOLVING TOUGH PROBLEMS
Chapter 18: “NOT” and “AND” Problems
Topics Covered in This Chapter A Short Review of Sets
Sets with Multiple AND Criteria Sets with Multiple NOT Criteria Sets Including Some Criteria but Excluding Others
Finding Out the “Not” Case
Using OUTER JOIN Using NOT IN Using NOT EXISTS Using GROUP BY/HAVING
Finding Multiple Matches in the Same Table
Using INNER JOIN Using IN Using EXISTS Using GROUP BY/HAVING
Sample Statements Summary Problems for You to Solve
Chapter 19: Condition Testing
Topics Covered in This Chapter Conditional Expressions (CASE)
Why Use CASE? Syntax
Solving Problems with CASE
Solving Problems with Simple CASE Solving Problems with Searched CASE Using CASE in a WHERE Clause
Sample Statements Summary Problems for You to Solve
Chapter 20: Using Unlinked Data and “Driver” Tables
Topics Covered in This Chapter What Is Unlinked Data?
Deciding When to Use a CROSS JOIN
Solving Problems with Unlinked Data Solving Problems Using “Driver” Tables
Setting Up a Driver Table Using a Driver Table
Sample Statements
Examples Using Unlinked Tables Examples Using Driver Tables
Summary Problems for You to Solve
Chapter 21: Performing Complex Calculations on Groups
Topics in this Chapter Grouping in Sub-Groups Extending the GROUP BY Clause
Syntax
Getting Totals in a Hierarchy Using Rollup Calculating Totals on Combinations Using CUBE Creating a Union of Totals with GROUPING SETS Variations on Grouping Techniques Sample Statements
Examples using ROLLUP Examples using CUBE Examples using GROUPING SETS
Summary Problems for You to Solve
Chapter 22: Partitioning Data into Windows
Topics in this Chapter What You Can Do With a “Window” into Your Data
Syntax
Calculating a Row Number Ranking Data Splitting Data into Quintiles Using Windows with Aggregate Functions Sample Statements
Examples Using ROW_NUMBER Examples Using RANK, DENSE_RANK, and PERCENT_RANK Examples Using NTILE Examples Using Aggregate Functions
Summary Problems for You to Solve
In Closing
PART VII: APPENDICES
Appendix A: SQL Standard Diagrams Appendix B: Schema for the Sample Databases
Sales Orders Example Database Sales Orders Modify Database Entertainment Agency Example Database Entertainment Agency Modify Database School Scheduling Example Database School Scheduling Modify Database Bowling League Example Database Bowling League Modify Database Recipes Database “Driver” Tables
Appendix C: Date and Time Types, Operations, and Functions
IBM DB2 Microsoft Access Microsoft SQL Server MySQL Oracle PostgreSQL
Appendix D: Suggested Reading
Database Books Books on SQL
Index Code Snippets
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion