DEV Community

Emman Kibet
Emman Kibet

Posted on

SQL FUNCTIONS,QUERIES AND JOINTS.

Window Functions vs GROUP BY: The Essential Difference
One-Line Distinction
GROUP BY collapses rows into summaries. Window functions keep all rows and add calculations as new columns.

-- GROUP BY: returns one row per group

-- Window function: returns all rows with calculation

Core Behaviors
| GROUP BY | Window Functions |
| ------------------------------ | ----------------------------- |
| Reduces row count | Preserves row count |
| Use HAVING to filter results | Use subqueries/CTEs to filter |
| No row context | Full access to row context |

Key Window Functions
1.ROW_NUMBER(): Unique sequential numbers

2.RANK(): Ranking with gaps for ties

3.DENSE_RANK(): Ranking without gaps

4.LAG()/LEAD(): Access previous/next rows

5.NTILE(n): Distribute into n buckets

When to Use Each

GROUP BY for: Dashboards, summaries, reports needing totals only.

Window functions for: Rankings, running totals, comparisons between rows, keeping detail while adding aggregates.

Critical Limitation
You cannot use window functions in WHERE clauses. Wrap them in a CTE or subquery first.

*5 SQL functions every beginner should know
*

  1. CONCAT: String Assembly Join multiple strings or columns into one.

Why it matters: Clean data presentation without application-layer formatting.

2. EXTRACT: Date Decomposition
Pull specific parts from dates.

Why it matters: Time-based analysis (monthly sales, yearly trends) requires isolating date components.

3. ROUND: Number Precision
Control decimal places.

Why it matters: Financial calculations demand exact precision. Avoid floating-point errors in displays.

4. COALESCE: Null Handling
Return first non-null value from a list.

Why it matters: Nulls break calculations and displays. COALESCE provides safe fallbacks.

5. CASE: Conditional Logic
If-then-else logic in SQL.

Why it matters: Categorize data, fix legacy values, implement business rules without changing schema.

Function Category Solves
CONCAT String Combining text
EXTRACT Date/time Date part isolation
ROUND Numeric Precision control
COALESCE Null handling Missing data defaults
CASE Conditional Logic without programming

The Pattern
These five cover transformation (CONCAT, ROUND), extraction (EXTRACT), safety (COALESCE), and logic (CASE). Together they bridge raw database storage and human-readable output.

JOINs Explained Simply
JOINs combine rows from two or more tables based on related columns.
1.INNER JOIN: The Intersection
Returns only matching rows from both tables. Most common. Use when you need complete, valid pairs.

2.LEFT JOIN: All From First, Matching From Second

3.RIGHT JOIN: Reverse LEFT JOIN

Returns all from right table, matching from left. Rarely used—swap table order and use LEFT JOIN instead

4.FULL OUTER JOIN: Everything

Returns all rows from both tables. NULL where no match either side. Use to find all records regardless of relationship.

JOIN Returns
INNER Matching rows only
LEFT All left, matching right
RIGHT All right, matching left
FULL OUTER All rows from both

Functions transform data within rows. JOINs connect data across rows.

Top comments (0)