![](https://www.pearson.com/store//pmccommercewebservices/v2/medias/size-W370-bigcovers-0135182867.jpg?context=bWFzdGVyfGltYWdlc3w1NDk4OHxpbWFnZS9qcGVnfHN5cy1tYXN0ZXIvaW1hZ2VzL2g0NS9oZWIvMTI5OTU4NTU5NzQ0MzAvc2l6ZV9XMzcwXy9iaWdjb3ZlcnMvMDEzNTE4Mjg2Ny5qcGd8ZGIzODczNDE0ZWMwNTc2YjU4ODcwYzhjOWM2ODg0MGIzN2M2YzQ4ZDYwOGFmNjE2NjQ0MGVkZjdjZWFkODExZA)
SQL in 10 Minutes a Day, Sams Teach Yourself, 5th edition
Published by Sams Publishing (October 29, 2019) © 2020
- Ben Forta
- Available for purchase from all major ebook resellers, including InformIT.com
Price Reduced From: $39.99
Details
- A print text
- Free shipping
- Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
Sams Teach Yourself SQL in 10 Minutes offers straightforward, practical answers when you need fast results.
By working through the book’s 22 lessons of 10 minutes or less, students will learn what they need to know to take advantage of the SQL language.
Lessons cover IBM DB2, Microsoft SQL Server and SQL Server Express, MariaDB, MySQL, Oracle and Oracle express, PostgreSQL, and SQLite.
Full-color code examples help you understand how SQL statements are structured
Tips point out shortcuts and solutionsCautions help you avoid common pitfalls
Notes explain additional concepts, and provide additional information
10 minutes is all students need to learn how to…
- Use the major SQL statements
- Construct complex SQL statements using multiple clauses and
- operators
- Retrieve, sort, and format database contents
- Pinpoint the data you need using a variety of filtering techniques
- Use aggregate functions to summarize data
- Join two or more related tables
- Insert, update, and delete data
- Create and alter database tables
- Work with views, stored procedures, and more
Introduction 1
   Who Is the Teach Yourself SQL Book For? . . . . . . . . . . . . . . . . . . . . . . . . . . 1
   DBMSs Covered in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   Conventions Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Understanding SQL 5
   Database Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
   What Is SQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
   Try It Yourself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Retrieving Data 13
   The SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   Retrieving Individual Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
   Retrieving Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
   Retrieving All Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
   Retrieving Distinct Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
   Limiting Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
   Using Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Sorting Retrieved Data 25
   Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
   Sorting by Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
   Sorting by Column Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
   Specifying Sort Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Filtering Data 33
   Using the WHERE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
   The WHERE Clause Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5 Advanced Data Filtering 41
   Combining WHERE Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
   Using the IN Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
   Using the NOT Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Using Wildcard Filtering 51
   Using the LIKE Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
   Tips for Using Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7 Creating Calculated Fields 59
   Understanding Calculated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
   Concatenating Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
   Performing Mathematical Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8 Using Data Manipulation Functions 69
   Understanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
   Using Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
9 Summarizing Data 79
   Using Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
   Aggregates on Distinct Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
   Combining Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
10 Grouping Data 89
   Understanding Data Grouping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
   Creating Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
   Filtering Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
   Grouping and Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
   SELECT Clause Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
11 Working with Subqueries 99
   Understanding Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
   Filtering by Subquery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
   Using Subqueries as Calculated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 103
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12 Joining Tables 107
   Understanding Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
   Creating a Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
13 Creating Advanced Joins 117
   Using Table Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
   Using Different Join Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
   Using Joins with Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
   Using Joins and Join Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
14 Combining Queries 127
   Understanding Combined Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
   Creating Combined Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
15 Inserting Data 135
   Understanding Data Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
   Copying from One Table to Another . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
16 Updating and Deleting Data 145
   Updating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
   Deleting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
   Guidelines for Updating and Deleting Data . . . . . . . . . . . . . . . . . . . . . . . 149
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
17 Creating and Manipulating Tables 151
   Creating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
   Updating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
   Deleting Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
   Renaming Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
18 Using Views 161
   Understanding Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
   Creating Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
   Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
19 Working with Stored Procedures 171
   Understanding Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
   Understanding Why to Use Stored Procedures . . . . . . . . . . . . . . . . . . . . . 172
   Executing Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
   Creating Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
20 Managing Transaction Processing 179
   Understanding Transaction Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 179
   Controlling Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
21 Using Cursors 187
   Understanding Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
   Working with Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
22 Understanding Advanced SQL Features 193
   Understanding Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
   Understanding Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
   Understanding Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
   Database Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
A Sample Table Scripts 203
B SQL Statement Syntax 209
C Using SQL Datatypes 215
D SQL Reserved Words 221
TOC, 9780135182796, 10/9/19
Need help? Get in touch