SQL CASE: configurar y consultar condiciones
SQL CASE te permite manipular una base de datos consultando determinadas condiciones y mostrando los resultados. Esta condición funciona de manera similar a la estructura If-then-else de otros lenguajes de programación.
¿Qué es SQL CASE?
La instrucción If-then-else es bastante habitual en muchos lenguajes de programación y bases de datos. Se encarga de ejecutar una acción mientras se cumpla una determinada condición. Si deja de cumplirse, el programa correspondiente sale del bucle o ejecuta otra acción. El lenguaje de consultas estructuradas utiliza un principio similar y ofrece la instrucción SQL CASE, que evalúa una lista de condiciones y devuelve un valor específico si se cumple alguna de las condiciones. Si no se cumple ninguna, devuelve un valor definido bajo ELSE. Si no hay una cláusula ELSE y ninguna condición se cumple, el resultado es NULL.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
Sintaxis y funcionamiento
La sintaxis básica de SQL CASE tiene el siguiente aspecto:
Mediante el comando SQL SELECT se especifica qué columnas deben tenerse en cuenta. CASE se utiliza para evaluar la condición. Si la condición se cumple (es decir, si es verdadera), se devuelve el valor del resultado especificado. END AS finaliza el bucle y FROM indica en qué tabla se debe ejecutar este bucle.
También es posible utilizar la cláusula ELSE, con la que la sintaxis tendría este aspecto:
Ejemplo de condición
Para explicar cómo funciona SQL CASE, se ha creado a continuación una tabla sencilla llamada “lista de clientes”. En ella se introducen un número de cliente, apellido del cliente, su ubicación, la fecha en la que se realiza el pedido, la cantidad de artículos del pedido y el importe pagado en dólares.
Cliente | Apellido | Ubicación | Fecha | Artículos | Importe total |
---|---|---|---|---|---|
1427 | Santos | Nueva York | 1/13/2024 | 14 | 634 |
1377 | Johnson | Chicago | 1/19/2024 | 9 | 220 |
1212 | Brown | Chicago | 1/3/2024 | 15 | 400 |
1431 | Miller | Los Ángeles | 1/19/2024 | 22 | 912 |
1118 | Davis | Dallas | 2/1/2024 | 10 | 312 |
Ahora se utiliza la condición para evaluar toda la lista. Para los importes totales superiores a 400 dólares, se muestra un texto específico, lo que también se aplica justo después a los importes inferiores a 400 dólares. La cláusula ELSE se utiliza para los pedidos que sean exactamente de 400 dólares. Como puedes ver, es posible consultar varias condiciones de manera consecutiva. La sintaxis de nuestro ejemplo es la siguiente:
El resultado tiene este aspecto:
Cliente | Apellido | Ubicación | Fecha | Artículos | Importe total | Detalles del pedido |
---|---|---|---|---|---|---|
1427 | Santos | Nueva York | 1/13/2024 | 14 | 634 | El valor de la compra supera los 400 dólares |
1377 | Johnson | Chicago | 1/19/2024 | 9 | 220 | El valor de la compra es menor a 400 dólares |
1212 | Brown | Chicago | 1/3/2024 | 15 | 400 | El valor de la compra es exactamente 400 dólares |
1431 | Miller | Los Ángeles | 1/19/2024 | 22 | 912 | El valor de la compra supera los 400 dólares |
1118 | Davis | Dallas | 2/1/2024 | 10 | 312 | El valor de la compra es menor a 400 dólares |
Combinación con otras instrucciones
También puedes consultar las condiciones dentro de otras instrucciones. A continuación, se organizan las entradas por número de cliente. Si no está especificado (es decir, es NULL), se tendrá en cuenta en su lugar el nombre del cliente. Fíjate en este código:
Se obtiene este resultado:
Cliente | Apellido | Ubicación | Fecha | Artículos | Importe total |
---|---|---|---|---|---|
1118 | Davis | Dallas | 2/1/2024 | 10 | 312 |
1212 | Brown | Chicago | 1/3/2024 | 15 | 400 |
1377 | Johnson | Chicago | 1/19/2024 | 9 | 220 |
1427 | Santos | Nueva York | 1/13/2024 | 14 | 634 |
1431 | Miller | Los Ángeles | 1/19/2024 | 22 | 912 |
Con el Hosting SQL Server de IONOS tienes la posibilidad de elegir entre MSSQL, MySQL o MariaDB. Obtén un rendimiento excepcional y benefíciate de una sólida arquitectura de seguridad y un asesoramiento personalizado.