| |
| |
Credits Preface | |
| |
| |
| |
SQL Fundamentals | |
| |
| |
| |
Run SQL from the Command Line | |
| |
| |
| |
Connect to SQL from a Program | |
| |
| |
| |
Perform Conditional INSERTs | |
| |
| |
| |
UPDATE the Database | |
| |
| |
| |
Solve a Crossword Puzzle Using SQL | |
| |
| |
| |
Don't Perform the Same Calculation Over and Over | |
| |
| |
| |
Joins, Unions, and Views | |
| |
| |
| |
Modify a Schema Without Breaking Existing Queries | |
| |
| |
| |
Filter Rows and Columns | |
| |
| |
| |
Filter on Indexed Columns | |
| |
| |
| |
Convert Subqueries to JOINs | |
| |
| |
| |
Convert Aggregate Subqueries to JOINs | |
| |
| |
| |
Simplify Complicated Updates | |
| |
| |
| |
Choose the Right Join Style for Your Relationships | |
| |
| |
| |
Generate Combinations | |
| |
| |
| |
Text Handling | |
| |
| |
| |
Search for Keywords Without LIKE | |
| |
| |
| |
Search for a String Across Columns | |
| |
| |
| |
Solve Anagrams | |
| |
| |
| |
Sort Your Email | |
| |
| |
| |
Date Handling | |
| |
| |
| |
Convert Strings to Dates | |
| |
| |
| |
Uncover Trends in Your Data | |
| |
| |
| |
Report on Any Date Criteria | |
| |
| |
| |
Generate Quarterly Reports | |
| |
| |
| |
Second Tuesday of the Month | |
| |
| |
| |
Number Crunching | |
| |
| |
| |
Multiply Across a Result Set | |
| |
| |
| |
Keep a Running Total | |
| |
| |
| |
Include the Rows Your JOIN Forgot | |
| |
| |
| |
Identify Overlapping Ranges | |
| |
| |
| |
Avoid Dividing by Zero | |
| |
| |
| |
Other Ways to COUNT | |
| |
| |
| |
Calculate the Maximum of Two Fields | |
| |
| |
| |
Disaggregate a COUNT | |
| |
| |
| |
Cope with Rounding Errors | |
| |
| |
| |
Get Values and Subtotals in One Shot | |
| |
| |
| |
Calculate the Median | |
| |
| |
| |
Tally Results into a Chart | |
| |
| |
| |
Calculate the Distance Between GPS Locations | |
| |
| |
| |
Reconcile Invoices and Remittances | |
| |
| |
| |
Find Transposition Errors | |
| |
| |
| |
Apply a Progressive Tax | |
| |
| |
| |
Calculate Rank | |
| |
| |
| |
Online Applications | |
| |
| |
| |
Copy Web Pages into a Table | |
| |
| |
| |
Present Data Graphically Using SVG | |
| |
| |
| |
Add Navigation Features to Web Applications | |
| |
| |
| |
Tunnel into MySQL from Microsoft Access | |
| |
| |
| |
Process Web Server Logs | |
| |
| |
| |
Store Images in a Database | |
| |
| |
| |
Exploit an SQL Injection Vulnerability | |
| |
| |
| |
Prevent an SQL Injection Attack | |
| |
| |
| |
Organizing Data | |
| |
| |
| |
Keep Track of Infrequently Changing Values | |
| |
| |
| |
Combine Tables Containing Different Data | |
| |
| |
| |
Display Rows As Columns | |
| |
| |
| |
Display Columns As Rows | |
| |
| |
| |
Clean Inconsistent Records | |
| |
| |
| |
Denormalize Your Tables | |
| |
| |
| |
Import Someone Else's Data | |
| |
| |
| |
Play Matchmaker | |
| |
| |
| |
Generate Unique Sequential Numbers | |
| |
| |
| |
Storing Small Amounts of Data | |
| |
| |
| |
Store Parameters in the Database | |
| |
| |
| |
Define Personalized Parameters | |
| |
| |
| |
Create a List of Personalized Parameters | |
| |
| |
| |
Set Security Based on Rows | |
| |
| |
| |
Issue Queries Without Using a Table | |
| |
| |
| |
Generate Rows Without Tables | |
| |
| |
| |
Locking and Performance | |
| |
| |
| |
Determine Your Isolation Level | |
| |
| |
| |
Use Pessimistic Locking | |
| |
| |
| |
Use Optimistic Locking | |
| |
| |
| |
Lock Implicitly Within Transactions | |
| |
| |
| |
Cope with Unexpected Redo | |
| |
| |
| |
Execute Functions in the Database | |
| |
| |
| |
Combine Your Queries | |
| |
| |
| |
Extract Lots of Rows | |
| |
| |
| |
Extract a Subset of the Results | |
| |
| |
| |
Mix File and Database Storage | |
| |
| |
| |
Compare and Synchronize Tables | |
| |
| |
| |
Minimize Bandwidth in One-to-Many Joins | |
| |
| |
| |
Compress to Avoid LOBs | |
| |
| |
| |
Reporting | |
| |
| |
| |
Fill in Missing Values in a Pivot Table | |
| |
| |
| |
Break It Down by Range | |
| |
| |
| |
Identify Updates Uniquely | |
| |
| |
| |
Play Six Degrees of Kevin Bacon | |
| |
| |
| |
Build Decision Tables | |
| |
| |
| |
Generate Sequential or Missing Data | |
| |
| |
| |
Find the Top n in Each Group | |
| |
| |
| |
Store Comma-Delimited Lists in a Column | |
| |
| |
| |
Traverse a Simple Tree | |
| |
| |
| |
Set Up Queuing in the Database | |
| |
| |
| |
Generate a Calendar | |
| |
| |
| |
Test Two Values from a Subquery | |
| |
| |
| |
Choose Any Three of Five | |
| |
| |
| |
Users and Administration | |
| |
| |
| |
Implement Application-Level Accounts | |
| |
| |
| |
Export and Import Table Definitions | |
| |
| |
| |
Deploy Applications | |
| |
| |
| |
Auto-Create Database Users | |
| |
| |
| |
Create Users and Administrators | |
| |
| |
| |
Issue Automatic Updates | |
| |
| |
| |
Create an Audit Trail | |