Lesson 15/100

Tutorials SQL Server Tutorial

HAVING — Complete Guide

HAVING — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of SQL Server Tutorial on Toolliyo Academy.

On this page

SQL Server Tutorial · Lesson 15 of 100

HAVING

SQL basicsQueriesAdvanced

SQL basics · 1 — SELECT · ~6 min · SQL — SQL Queries & Clauses

What is this?

HAVING filters groups after GROUP BY. WHERE filters rows before grouping; HAVING filters aggregated results.

Why should you care?

You want cities with revenue over 2000 — that condition needs SUM first, so HAVING applies.

See it live — copy this example

Run in SQL Server Management Studio (SSMS) or Azure Data Studio.

USE DataVerse;
SELECT City, SUM(Amount) AS Revenue, COUNT(*) AS OrderCount
FROM dbo.Orders
GROUP BY City
HAVING SUM(Amount) >= 2000
ORDER BY Revenue DESC;

What happened?

  • Groups form by City, then HAVING drops cities whose SUM is under 2000.
  • Pune’s 2000 total stays; adjust data if your numbers differ.

Practice next

  1. Run without HAVING and note all cities.
  2. Add HAVING COUNT(*) >= 2.
  3. Combine HAVING SUM(Amount) >= 2000 AND COUNT(*) >= 2.
  4. HAVING AVG(Amount) > 1000.
  5. HAVING MAX(Amount) >= 2500.

Remember

WHERE = row filter; HAVING = group filter. HAVING often uses aggregate expressions. Use the earliest filter that is correct.

Highlight high-revenue cities

Sales alert lists cities where DataVerse revenue crosses a threshold.

Outcome: Managers focus coaching where money is largest.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Mid PDF Detailed
What are the differences between SQL and NoSQL databases?
Short answer: SQL Databases (Relational Databases): These are structured databases that use Structured Query Language (SQL) for defining and manipulating data. Explain a bit more They store data in tables with rows and c…
Mid PDF Detailed
Query Performance:?
Short answer: Use EXPLAIN or QUERY PLAN to analyze query execution times and identify slow queries. Track metrics like response time, execution time, and query throughput. Real-world example (ShopNest) ShopNest adds an i…
Mid PDF Detailed
Start with 1NF: Ensure that the table has no repeating groups or arrays, and each?
Short answer: record has a unique identifier. Real-world example (ShopNest) Product and Category are separate tables (normalized). The order line stores product id + price snapshot—not a giant duplicated product blob. Sa…
Junior PDF Detailed
Define Roles: Define different roles based on business requirements (e.g., admin,?
Short answer: Define Roles: Define different roles based on business requirements (e.g., admin,? is a common interview topic in SQL & Databases. Give a clear definition, then one concrete example. Say this in the int…
Mid PDF Detailed
Slower Queries: Fragmented indexes cause the database engine to read more data?
Short answer: pages, slowing down query performance. Real-world example (ShopNest) ShopNest adds an index on Orders(CustomerId, CreatedAt) because “my recent orders” is queried constantly. Say this in the interview Defin…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

SQL Server Tutorial
Course syllabus

SQL Server Tutorial

SQL — Foundations
SQL — SQL Queries & Clauses
SQL — Joins & Relationships
SQL — Indexing & Performance
SQL — Stored Procedures & Functions
SQL — Transactions & Concurrency
SQL — Advanced SQL Server
SQL — Security & High Availability
SQL — 2022 & Cloud
SQL — Real-World Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details