Capítulo 7. Declaraciones CASE
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Ya casi estamos listos para aprender la característica verdaderamente definitoria de SQL, el operador JOIN. Pero antes de hacerlo, deberíamos dedicar un breve capítulo de a cubrir un operador muy práctico llamado CASE. Este comando nos permite cambiar el valor de una columna por otro valor en función de una o varias condiciones.
La declaración CASE
Una sentencia CASE nos permite asignar una o varias condiciones a un valor correspondiente para cada condición. Comienzas una sentencia CASE con la palabra CASE y la concluyes con una END. Entre esas palabras clave, especificas cada condición con una WHEN [condition] THEN [value], donde el [condition] y el correspondiente [value] son suministrados por ti. Después de especificar los pares condición-valor, puedes tener un valor comodín por defecto si no se cumple ninguna de las condiciones, que se especifica en ELSE. Por ejemplo, podríamos clasificar wind_speed en categorías wind_severity (Figura 7-1), donde cualquier velocidad superior a 40 es 'HIGH', de 30 a 40 es 'MODERATE', y todo lo que sea inferior es 'LOW':
SELECTreport_code,year,month,day,wind_speed,CASEWHENwind_speed>=40THEN'HIGH'WHENwind_speed>=30ANDwind_speed<40THEN'MODERATE'ELSE'LOW'ENDaswind_severityFROMstation_data