17.10 - Example: Using a CASE expression to Enhance Performance - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - SQL Functions, Expressions, and Predicates

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1145-171K
Language
English (United States)

The following example shows how using a CASE expression can result in significantly enhanced performance by eliminating multiple passes over the data. Without using CASE, you would have to perform multiple queries for each region and then consolidate the answers to the individual queries in a final report.

   SELECT SalesMonth, SUM(CASE 
                           WHEN Region='NE' 
                           THEN Revenue 
                           ELSE 0 
                          END),
                      SUM(CASE 
                           WHEN Region='NW' 
                           THEN Revenue 
                           ELSE 0 
                          END),
                      SUM(CASE 
                           WHEN Region LIKE 'N%' 
                           THEN Revenue 
                           ELSE 0 
                          END)
   AS NorthernExposure, NorthernExposure/SUM(Revenue),
   SUM(Revenue)
   FROM Sales
   GROUP BY SalesMonth;