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

SQL Functions, Expressions, and Predicates

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-28
dita:mapPath
SQL_Functions__Expressions__and_Predicates.Upload_071421/djk1612415574830.ditamap
dita:ditavalPath
SQL_Functions__Expressions__and_Predicates.Upload_071421/wrg1590696035526.ditaval
dita:id
B035-1145
lifecycle
previous
Product Category
Teradata Vantageā„¢

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;