0% found this document useful (0 votes)
18 views17 pages

Advanced SQL Queries and Optimization 3

Uploaded by

priiincema
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views17 pages

Advanced SQL Queries and Optimization 3

Uploaded by

priiincema
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Overview

CASE Statement and


Conditional Aggregation

Indexing

Explain and
Analyze
Training Outcome

Learners will gain the following skills and knowledge:

Understand how to use the CASE statement in SQL to evaluate conditions


and produce specific outcomes based on defined criteria.

Gain proficiency in applying conditional aggregation to calculate


grouped metrics by combining CASE with aggregate functions, enabling
advanced data analysis.

Comprehend the concept of indexing and its impact on query


performance, including its benefits for columns frequently used in WHERE,
JOIN, or ORDER BY clauses.
Training Outcome

Learners will gain the following skills and knowledge:

Acquire skills to create and utilize indexes to optimize data retrieval while
understanding the trade-offs between storage usage and write
performance.

Develop the ability to leverage EXPLAIN and ANALYZE commands to


evaluate SQL query execution plans and identify performance
bottlenecks.
CASE Statement
and Conditional
Aggregation
CASE Statement and Conditional Aggregation

In SQL, the CASE statement yields a value for the given condition. It returns
one of the several possible outcomes after testing a list of conditions.

Conditional aggregation combines CASE with aggregate functions to


calculate grouped metrics based on specific conditions.
CASE Statement and Conditional Aggregation
Syntax:
SELECT CASE
WHEN expression1 THEN Result1
WHEN expression2 THEN Result2
ELSE Result
END

Example:
Find the total salary by department,
but split it into salaries above 100,000
and below 100,000

Source
Indexing
Indexing
At the expense of more storage,
indexing produces a data structure
that speeds up data retrieval
processes. For columns that are
regularly utilized in WHERE, JOIN, or
ORDER BY clauses, indexes are
especially helpful.

Syntax:
CREATE INDEX name_of_Index
ON name_Of_Table(Attribute1,
Attribute2);

Example:
Create an index on employee_id
to improve query performance

Source
Explain and Analyze
Explain and Analyze

The EXPLAIN and ANALYZE


commands aid in your
comprehension of SQL query
execution. They offer
information on query plans,
including join techniques,
index utilization, and table
scans.
EXPLAIN and ANALYZE assist
in locating query plan
inefficiencies, which
facilitates the optimization
of joins, filters, and sorting
procedures.
Source
Explain and Analyze

Syntax:
EXPLAIN ANALYZE
SELECT *
table_name WHERE
condition

Example:
Use EXPLAIN to
analyze a query that
retrieves employee
details by
department

Source
Conclusion
At the end learners:

Be proficient in using CASE statements to evaluate multiple conditions in SQL


queries, returning specific results based on defined logic.

Master the application of conditional aggregation by combining CASE with


aggregate functions to calculate customized metrics for grouped data
analysis.

Understand the importance of indexing in improving query performance,


particularly for frequently queried columns, and know when and how to
implement indexes effectively.
Conclusion
At the end learners:

Be able to use EXPLAIN and ANALYZE commands to interpret SQL query


execution plans, including identifying table scans, join methods, and index
utilization.

Develop skills to diagnose performance bottlenecks in SQL queries and


apply optimization techniques to enhance query efficiency.
Assignment
Kindly find attached tables (find table here)
to answer the following questions:

1. Using CASE Statements and


Conditional Aggregation
Write a query to display:
The total amount spent by customers
below 40 years old.
Use a CASE statement to group the data
into these categories.

2. Create an index on the transaction_date


column in the Transactions table.

Source
Assignment
Kindly find attached tables (find table here)
to answer the following questions:

3. Write a query to display the total sales


(amount_spent) and the number of
transactions for each customer.
• Use the GROUP BY clause.
• Use the EXPLAIN command to analyze
the query execution plan and identify
bottlenecks.

You might also like