Declaración CASE de SQL

El CASE declaración en SQL es una expresión condicional versátil que nos permite incorporar lógica condicional directamente dentro de nuestras consultas. Le permite devolver resultados específicos basados ​​en ciertas condiciones que permiten resultados de consultas dinámicas. Ya sea que necesites crear nuevas columnas modificar los existentes o personalizar el resultado de sus consultas declaración de CASO puede manejarlo todo.

En este artículo aprenderemos el Declaración CASE de SQL en detalle con ejemplos claros y casos de uso que muestran cómo aprovechar esta característica para mejorar sus consultas SQL.

Declaración CASE en SQL

  • El CASE declaración en SQL es una expresión condicional que le permite realizar lógica condicional dentro de una consulta.
  • Se usa comúnmente para crear nuevas columnas basadas en lógica condicional, proporcionar valores personalizados o controlar los resultados de consultas según ciertas condiciones.
  • Si ninguna condición es verdadera entonces el DEMÁS parte será ejecutada. Si no hay otra parte, entonces regresa NULO.

Sintaxis:

Para utilizar la declaración CASE en SQL, utilice la siguiente sintaxis:

CASE valor_caso
CUANDO condición ENTONCES resultado1
CUANDO condición ENTONCES resultado2
...
Otro resultado
CASO FINAL;

Ejemplo de declaración CASE de SQL

Veamos algunos ejemplos de la declaración CASE en SQL para entenderla mejor.

Creemos una tabla SQL de demostración que se usará en los ejemplos.

Base de datos SQL de demostración

Usaremos esta tabla SQL de muestra para nuestros ejemplos de declaración SQL CASE:

ID de cliente Nombre del cliente Apellido País Edad Teléfono
1 Duda Thakur India 23 xxxxxxxxxx
2 Seguro chopra Australia 21 xxxxxxxxxx
3 naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Austria 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. jainista España 22 xxxxxxxxxx

Puede crear la misma base de datos en su sistema escribiendo la siguiente consulta MySQL:

 CREATE TABLE Customer( CustomerID INT PRIMARY KEY CustomerName VARCHAR(50) LastName VARCHAR(50) Country VARCHAR(50) Age int(2) Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone) VALUES (1 'Shubham' 'Thakur' 'India''23''xxxxxxxxxx') (2 'Aman ' 'Chopra' 'Australia''21''xxxxxxxxxx') (3 'Naveen' 'Tulasi' 'Sri lanka''24''xxxxxxxxxx') (4 'Aditya' 'Arpan' 'Austria''21''xxxxxxxxxx') (5 'Nishant. Salchichas S.A.' 'Jain' 'Spain''22''xxxxxxxxxx');   

Ejemplo 1: expresión CASE simple

En este ejemplo usamos la declaración CASE

Consulta:

 SELECT CustomerName Age CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;  

Producción:

Nombre del cliente Edad Nacionalidad
Duda 23 indio
Seguro 21 Extranjero
naveen 24 Extranjero
Aditya 21 Extranjero
Nishant. Salchichas S.A. 22 Extranjero

Ejemplo 2: CASO SQL cuando existen múltiples condiciones

Podemos agregar múltiples condiciones en la declaración CASE usando múltiples CUANDO cláusulas.

Consulta:

 SELECT CustomerName Age CASE WHEN Age> 22 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

Producción:

Nombre del cliente Edad CantidadTexto
Duda 23 La edad es mayor a 22
Seguro 21 La edad es 21
naveen 24 La edad es mayor a 22
Aditya 21 La edad es 21
Nishant. Salchichas S.A. 22 La edad es mayor de 30

Ejemplo 3: Declaración CASE con cláusula ORDER BY

Tomemos la tabla de clientes que contiene CustomerID Nombre de cliente Apellido País Edad y teléfono. Podemos verificar los datos de la tabla Cliente usando el ORDENAR POR cláusula con la declaración CASE.

Consulta:

 SELECT CustomerName Country FROM Customer ORDER BY (CASE WHEN Country IS 'India' THEN Country ELSE Age END);  

Producción:

Nombre del cliente País
Seguro Australia
Aditya Austria
Nishant. Salchichas S.A. España
naveen Sri Lanka
Duda India

Puntos importantes sobre la declaración CASE

  • La declaración SQL CASE es una expresión condicional que permite la ejecución de diferentes consultas según condiciones específicas.
  • Siempre debe haber un SELECCIONAR en la declaración CASE.
  • FINAL OTRO es un componente opcional pero CUANDO ENTONCES estos casos deben incluirse en la declaración CASE.
  • Podemos hacer cualquier declaración condicional usando cualquier operador condicional (como DÓNDE ) entre CUANDO y ENTONCES. Esto incluye encadenar múltiples declaraciones condicionales usando Y y O.
  • Podemos incluir múltiples declaraciones WHEN y una declaración ELSE para contrarrestar condiciones no abordadas.

Conclusión

El CASE La declaración proporciona un mecanismo sólido para incorporar lógica condicional en consultas SQL. Al utilizar esta declaración, puede manejar varias condiciones y personalizar el resultado de sus consultas de manera efectiva. Comprender cómo implementar CASE Las expresiones le permiten realizar manipulación de datos e informes más sofisticados, lo que hace que sus consultas SQL sean más dinámicas y respondan a diferentes escenarios.

Crear cuestionario