This video is from our "SQL Server Programming (SQL Server 2005/2000): Transact SQL" course
Visit the course home page for full details (such as the videos in the course, free videos for the course, and more)

Video: When to Use HAVING Instead of WHERE - Aggregates, GROUP BY, and the HAVING Clause

  • ·Skill level: 300 (Intermediate)
  • ·Run Time: 11:12
  • ·Instructor: Scott Whigham

Description:

The traditional areas of difficulty for SQL developers are aggregates, JOINs, and subqueries. Most people have no trouble understanding when to use COUNT instead of SUM but they get "stuck" when it comes to determining how to filter the data. Suppose you are asked to find all orders in 2006 in which customers ordered more than 5 items - how would you solve this query? Obviously you need two filters: for the date (2006) and for orders with more than 5 items. People have difficulty with this type of query however; most people would approach this query along these lines: "SELECT ... FROM Orders JOIN OrderDetails ... WHERE Year(DateOrdered)=2006 AND COUNT(*) > 5". Focus on the WHERE clause for a moment: is that right? If you aren't sure or if you think it is right, then you need to watch this video to understanding why this query must use the HAVING clause.

Download and watch this video

NOTE: You will need the TSCC codec installed to view video

Scott Whigham

Scott Whigham is the founder of LearnItFirst.com, one of the web's most extensive video training libraries focusing on technical training. Scott is also an experienced consultant, trainer, and author with more than a decade of hands-on experience working with SQL Server databases, writing and debugging applications using Visual Studio, and performance tuning. Scott designed the architecture (websites, class libraries, and database) for the LearnItFirst.com websites and, most re... (Scott's full bio can be found here)


NOTE: This video is part of our SQL Server Programming (SQL Server 2005/2000): Transact SQL course.
This video is from Chapter 5: Aggregating Data Using DISTINCT, GROUP BY, HAVING, and more

Browse this course's videos now