We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 19
Advanced SQL Techniques
CTEs, Subqueries, and More
Miner tS TyCommon Table
Expressions (CTEs)
CTEs are temporary named result sets that exist
within the scope of a single SQL statement. They
simplify complex queries by breaking them into
smaller, more manageable parts.
PUBL LP aye
product_id,
SUM(quantity) AS total_quantity,
SUM(p: e * quantity) AS total_revenue
Nem B a
GROUP BY product_id
SELECT
p.product_name,
s.total_quantity,
.total_revenue
rates
JOIN
s.product_;
ORDER BY s.total_revenue DESC
LIMIT 10;
Swipe next —>follow for more
Subqueries
Subqueries are nested queries within a larger SQL
statement. They can be used in various parts of a
query, such as SELECT, FROM, WHERE, and
HAVING clauses.
SELECT
employee_name,
Fw had
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
WHERE department =
)
ORDER BY salary DESC;
Swipe next —>save for later ll
Self Joins
Self joins are used when a table needs to be joined
with itself, typically to compare rows within the same
table or to establish hierarchical relationships.
e.employee_name employee,
m.employee_name AS manager
employees e
employees m Ol Manager_id =
m.employee_id
e.employee_name;
Swipe next —>follow for more
Window Functions
Window functions perform calculations across a set
of table rows that are related to the current row,
allowing for complex analytical queries.
11a ea
Ret mma
department,
salary,
Clee ba ER (PARTITION BY department)
TSMC TaN Te vb a
lary) OVER (PARTITION BY
tment) AS salary_diff_from_avg
FROM employees
ORDER BY department, salary DESC;
Swipe next —>Unions
UNION combines the result sets of two or more
SELECT statements, removing duplicate rows by
default. UNION ALL retains all rows, including
duplicates.
Same mya _name, ‘In AS status
FROM prod
WHERE stock_quantit
UNION
Seem cl aun
FROM produc
Pt
Caan ess aC
Swipe next —>follow for more
Date Manipulation
SQL provides various functions to work with dates,
allowing for complex date-based calculations and
filtering.
SELECT
order_id,
order_date,
Claes Sant ho
DATEDIFF(delivery_date, order_date) AS
days_to_deliver,
DATE_ADD(order_date, INTERVAL 7 DAY) AS
ents
WHEN delivery_date <=
DATE_ADD(order_date, i DAY) THEN 'On
1 A
ELSE 'Dele
END AS delivery_status
FROM orders
WHERE YEAR(order_date) = YEAR(CURDATE())
Oo) MN aba SCE TS
Swipe next —>e e e
Pivoting Techniques
Pivoting transforms rows into columns, useful for
creating summary reports or transforming data for
analysis.
aaa 8
PS aele (ona betel a
SUM(CASE WHEN MONTH(order_date) = 1 THEN
total_amount ELSE @ END) AS Jan_sales
SUM(CASE WHEN MONTH(or date) 2 THEN
Eo NMETV a lA) Le BT
SUM(CASE WHEN MONTH(order. te) cas)
total_a unt ELSE @ END) AS Mar_sali
a
WHERE YEAR(order_date) = YEAR(CURDATE())
GROUP B
Swipe next —>follow for more
Unpivoting Techniques
Unpivoting converts columns into rows, useful for
normalizing data or preparing it for analysis.
SELECT
asi ste,
CSM olan
NETa meyer eee a
FROM monthly_sales
UNION ALL
i] Bea
product_id,
AS month,
Feb_sales AS sales_amount
FROM monthly_sales
UNION ALL
15 3 09
product_id,
AS month,
Mar_sales AS sales_amount
FROM monthly_sales
ORDER BY product_
Swipe next —>save for later ll
Data Modeling and
Table Relationships
Data modeling involves designing the structure of a
database, including tables and their relationships.
Common relationship types include one-to-one, one-
to-many, and many-to-many.
Swipe next —>Data Modeling and follow for more
Table Relationships
TULLE btu
CE Erasing
CEE ear mar iy (cman ee
CNC UCI
BCP ag
CoML CC MNO ne
department_id INT,
eam ya uae ie)
tments (department_id)
Cae CC ha
Rare TNa ad
CCL an ae
Ga eee ry
te aC OLE T Ta ae
ECL oa ae
aC ean
Rae Cn
Corea
Gres Bua
PSO Canam Cae cy
Roach eae Curae Matsa
Arnette Cua
Rois m Cee MC Maga oy
Peete et)
Swipe next —>Communicating Your
Code
Clear communication of SQL code is crucial for
collaboration and maintenance. Use comments,
consistent formatting, and meaningful names for
tables, columns, and aliases.
ee Luel lak
FROM order
Ts aoa Sa Cn eM) Waele): C00 2) WO
INTERVAL 3@ DAY)
y
138045
COUN NE Sse eC DM Sara
Eva Sar) Oracle
ro ON c.customer_id =
ce ae d, c.customer_name
TNC:
ORDER BY avg_order_value DE!
et aae
Swipe next —>follow for more
Turning Business Problems
into Code
Translating business requirements into SQL involves
understanding the problem, identifying relevant data,
and breaking down the solution into logical steps.
Swipe next —>Turning Business
Problems into Code
Dev aeth
esr
ACen Stee Tee TSC
oa
Pete aet]
ie
us) Pec
Peet et
Tae)
See aun eae)
Dee aaa eC
ntage
Peer Cee
Swipe next —>follow for more
e e e
Query Optimization
Query optimization involves improving the
performance of SQL queries. Techniques include
proper indexing, avoiding subqueries when possible,
and using EXPLAIN to analyze query execution
plans.
Swipe next —>save for later ll
Query Optimization
c.customer_name,
COUNT(o.order_id) order_count
TES oS oa
FT JOIN orders o ON c.customer_id =
Peers sae]
[ o.order_date >= DATE_SUB(CURDATE(),
7 Va )
(ejsto0) c.customer_id, c.customer_name
Mose Crm aes
Cra sama
(meee Sam
ol Cbs Samed ESS te Same a
M customers c
nt
Tess Sees esas tae]
orders
ERE order_date >= DATE_SUB(CURDATE(),
INTERVAL 1 )
MSs yeas MEM Poly ae)
c.customer_id, c.customer_name
order_count >
bac ame Tae)
StS ab bmp a Se CS mC) Esso)
(customer_id, order_date);
Swipe next —>QAing Data
follow for more
Quality Assurance (QA) in SQL involves validating
data integrity, consistency, and accuracy. This
includes checking for null values, duplicate records,
and ensuring data meets business rules.
Cou eo Cu eye
COUNT(*) - COUNT(
null_customer_:
oleae LCs Las
null
COUNT(*) - COUNT(tot
Preece mes
F
tomer_id)
SELECT
ese TERMS
PRES aeek: a
casa
Swipe next —>save for later ll
Additional Resources
To further enhance your SQL skills, consider
exploring the following resources:
1."Efficient Query Processing for Data Science
Workloads on Many-Core CPUs" by Orestis
Polychroniou et al. (2019) ArXiv URL:
https://arxiv.org/abs/1906.01560
2."Automating the Database Schema Evolution
Process" by Isak Karlsson et al. (2020) ArXiv
URL: https://arxiv.org/abs/2010.05761
3."Query Processing for Graph Analytics" by
Angela Bonifati et al. (2020) ArXiv URL:
https://arxiv.org/abs/2012.06889Follow For More Data’.
Science Content sith