Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Query Optimization | Query optimization.Indexes
Quizzes & Challenges
Quizzes
Challenges
/
SQL Optimization and Query Features

bookChallenge: Query Optimization

Assume we want to retrieve only the account numbers that have performed at least one transaction.

In this task, we have a query that is not optimized. Your task is to rewrite it in a more optimal way.

Here is a list of the main query rewriting techniques to enhance optimization:

  1. Explicitly Specify Columns: instead of using the asterisk (*) wildcard, explicitly mention column names in queries for better performance, readability, and maintainability;

  2. Minimize Subqueries: reduce the use of subqueries to optimize query performance. Consider alternatives like joins or derived tables to avoid complexity and overhead;

  3. Avoid Repeated IN Operators: limit the use of the IN operator in queries to prevent performance impact. Instead, consider using JOIN or EXISTS clauses for more efficient execution plans;

  4. Organize Joins Logically: start SQL joins with the main table and then join with related tables to optimize query organization and database engine optimization;

  5. Use Restrictive WHERE Conditions: improve query performance by including restrictive conditions in the WHERE clause to filter rows and enhance execution speed;

  6. Refactor Code into Stored Procedures or Functions: encapsulate repetitive code segments into stored procedures or user-defined functions for code reusability, modularity, and easier maintenance. These can reduce redundancy and optimize SQL queries.

Task

Swipe to start coding

Your task is to write a query that returns a list of all account numbers that have performed at least one transaction (transferred money to another account). The results should be sorted in ascending order by account number.

To make your query more efficient and readable, follow these steps:

  • Select only the account_number column;
  • Use an INNER JOIN between the BankAccounts and Transactions tables;
  • Do not use the IN operator or subqueries;
  • Sort the result by account_number in ascending order.

Solution

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 7
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

close

bookChallenge: Query Optimization

Swipe to show menu

Assume we want to retrieve only the account numbers that have performed at least one transaction.

In this task, we have a query that is not optimized. Your task is to rewrite it in a more optimal way.

Here is a list of the main query rewriting techniques to enhance optimization:

  1. Explicitly Specify Columns: instead of using the asterisk (*) wildcard, explicitly mention column names in queries for better performance, readability, and maintainability;

  2. Minimize Subqueries: reduce the use of subqueries to optimize query performance. Consider alternatives like joins or derived tables to avoid complexity and overhead;

  3. Avoid Repeated IN Operators: limit the use of the IN operator in queries to prevent performance impact. Instead, consider using JOIN or EXISTS clauses for more efficient execution plans;

  4. Organize Joins Logically: start SQL joins with the main table and then join with related tables to optimize query organization and database engine optimization;

  5. Use Restrictive WHERE Conditions: improve query performance by including restrictive conditions in the WHERE clause to filter rows and enhance execution speed;

  6. Refactor Code into Stored Procedures or Functions: encapsulate repetitive code segments into stored procedures or user-defined functions for code reusability, modularity, and easier maintenance. These can reduce redundancy and optimize SQL queries.

Task

Swipe to start coding

Your task is to write a query that returns a list of all account numbers that have performed at least one transaction (transferred money to another account). The results should be sorted in ascending order by account number.

To make your query more efficient and readable, follow these steps:

  • Select only the account_number column;
  • Use an INNER JOIN between the BankAccounts and Transactions tables;
  • Do not use the IN operator or subqueries;
  • Sort the result by account_number in ascending order.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 7
single

single

some-alt