In the course SQL Querying: Fundamentals, you learned the basics of SQL querying. Now that you have a foundation in how to query databases, you will learn in this course how to identify and use advanced querying techniques. In addition, you might find that you need to perform tasks such as modifying the structure of a table; inserting, updating, or deleting data; and indexing tables to optimize query performance. In this course, you will learn how to complete these tasks and more.

In today’s competitive environment, information is one of the most important factors in determining the success of an organization. If you are able to manage and retrieve information efficiently, you can streamline the organization’s processes and give it a competitive edge. As the organization grows, you will need to handle large amounts of data. Under such circumstances, you might need to query multiple tables simultaneously and with increasing frequency. You must step up the speed of generating query output to cope with the increasing demands of data storage, management, and retrieval.


In this course, you will work with advanced queries to manipulate and index tables. You will also create transactions so that you can choose to save or cancel the data entry process.

You will:

  • Use subqueries to generate query output.
  • Manipulate table data by inserting and updating records in a table and deleting records from a table.
  • Manipulate the table structure.
  • Create views, manipulate data through views, modify the view structure, and drop views.
  • Create indexes on table columns and drop inefficient indexes.
  • Mark the beginning of a transaction, roll back a transaction, and commit a transaction.


Students should have basic computer skills, SQL skills, and be familiar with concepts related to database structure and terminology.


To ensure your success, we recommend you first take the following Logical Operations courses, or have equivalent skills and knowledge:

  • SQL Querying: Fundamentals


Lesson 1: Using Subqueries to Perform Advanced Querying

 Topic A: Search Based on Unknown Values

 Topic B: Compare a Value with Unknown Values

 Topic C: Search Based on the Existence of Records

 Topic D: Generate Output Using Correlated Subqueries

 Topic E: Filter Grouped Data Within Subqueries

 Topic F: Perform Multiple-Level Subqueries

Lesson 2: Manipulating Table Data

 Topic A: Insert Data

 Topic B: Modify and Delete Data

Lesson 3: Manipulating the Table Structure

 Topic A: Create a Table

 Topic B: Create a Table with Constraints

 Topic C: Modify a Table’s Structure

 Topic D: Back Up Tables

 Topic E: Delete Tables

Lesson 4: Working with Views

 Topic A: Create a View

 Topic B: Manipulate Data in Views

 Topic C: Create Aliases

 Topic D: Modify and Delete Views

Lesson 5: Indexing Data

 Topic A: Create Indexes

 Topic B: Drop Indexes

Lesson 6: Managing Transactions

 Topic A: Create Transactions

 Topic B: Commit Transactions

Appendix A: The FullerAckerman Database