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
CASEdeclaració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.