Este artículo se comparte desde la comunidad de nube de Huawei " Expresión CASE de ejemplo de sintaxis básica SQL de GaussDB " por Gauss Squirrel Club Assistant 2.
I. Introducción
SQL es un lenguaje informático estándar que se utiliza para acceder y manipular bases de datos. GaussDB es compatible con el estándar SQL (las características principales de SQL2, SQL3 y SQL4 son compatibles de forma predeterminada).
Esta serie se presentará en base al documento en línea "Cloud Database GaussDB—Referencia SQL".
2. Introducción a la expresión CASE
En GaussDB SQL, la expresión CASE (CASE Expression) es una herramienta muy poderosa y de uso común que se puede utilizar para realizar operaciones basadas en condiciones en SQL. Las expresiones CASE son similares a las declaraciones IF-THEN-ELSE, pero son más flexibles de usar y más fáciles de leer y escribir.
La expresión CASE contiene dos formas, una es la forma simple y la otra es la forma de búsqueda. La escritura, la gramática y el uso de estas dos formas se presentarán a continuación.
3. Expresión CASE simple en la base de datos GaussDB
1. Conceptos básicos
Una expresión CASE simple realiza una comparación basada en igualdad en una expresión dada y realiza una operación si la expresión es igual a un valor determinado. Es decir, salte a la expresión_resultado correspondiente en función del resultado coincidente de expresión_entrada y expresión_cuándo.
2. Gramática básica
CASO expresión_entrada CUANDO cuando_expresión ENTONCES resultado_expresión [...norte] [ELSE otra expresión_resultado] FIN;
ilustrar :
Entre ellos, input_expression representa la expresión que debe compararse, when_expression, etc. representa el valor que debe compararse, result_expression, etc. representa el resultado cuando cada valor es igual, else_result_expression representa el resultado predeterminado cuando input_expression no es igual a algún valor.
Consejo :
CASO: La función CASE simple admite subconsultas, pero tenga en cuenta que input_expression y when_expression pueden coincidir. Además, si no hay input_expression = when_expression que se evalúe como TRUE, cuando se especifique la cláusula ELSE, DLI devolverá else_result_expression; cuando no se especifique la cláusula ELSE, se devolverá un valor NULL;
3. Ejemplo
Suponiendo que el nivel de empleado se define en base a un salario fijo, se puede ejecutar de acuerdo con el siguiente SQL:
SELECCIONAR nombre ,salario ,CASO salario CUANDO 15000 ENTONCES 'Junior' CUANDO 20000 ENTONCES 'Intermedio' CUANDO 25000 ENTONCES 'Premium' CUANDO 30000 ENTONCES 'Premium' CUANDO 35000 ENTONCES 'Premium' DEMÁS NULO FINALIZAR COMO nivel DE la empresa ORDENAR POR salario;
Análisis de declaraciones SQL :
La prueba utiliza una tabla de empresas creada en la base de datos GaussDB.
Este SQL selecciona el nombre del empleado (name), el salario (salary) y un campo clasificado según el nivel salarial (level) de la tabla "empresa". Y utilice la instrucción "ORDENAR POR salario" para ordenar los resultados de salario bajo a alto.
Cómo funcionan las expresiones CASE simples:
Si el valor del campo "salario" es igual a 15000, entonces el valor del campo "nivel" es "junior".
Si el valor del campo "salario" es igual a 20000, entonces el valor del campo "nivel" es "intermedio".
Si el valor del campo "salario" es igual a 25000 o 30000 o 35000, entonces el valor del campo "nivel" es "avanzado".
Si el valor del campo "salario" no es igual a ninguno de los valores anteriores, entonces el valor del campo "nivel" es NULL.
4. Buscar expresión CASE en la base de datos GaussDB
1. Conceptos básicos
Buscar una expresión CASE significa realizar una comparación basada en desigualdades en una expresión dada y realizar la operación correspondiente si la expresión satisface la condición dada. Es decir, la expresión_booleana de cada cláusula WHEN se evalúa en el orden especificado. Devuelve la expresión_resultado de la primera expresión_booleana que se evalúa como VERDADERA.
2. Gramática básica
CASO CUANDO expresión_booleana ENTONCES expresión_resultado [...norte] [ELSE otra expresión_resultado] FIN;
ilustrar:
Entre ellos, boolean_expression, etc. representan las condiciones que deben compararse, result_expression, etc. representan los resultados de la operación cuando se cumplen las condiciones correspondientes, y else_result_expression representa el resultado predeterminado cuando la expresión no cumple ninguna condición.
Consejo :
boolean_expression: puede contener subconsultas, pero el valor de retorno de toda la expresión boolean_expression solo puede ser de tipo booleano.
Si no hay una expresión booleana que se evalúe como VERDADERA, DLI devolverá otra expresión_resultado cuando se especifique la cláusula ELSE; cuando no se especifique la cláusula ELSE, se devolverá un valor NULL;
3. Ejemplo
Suponiendo que el nivel de empleado se define en función del rango salarial, se puede ejecutar de acuerdo con el siguiente SQL:
SELECCIONAR nombre ,salario , CASO CUANDO salario < 15000 ENTONCES '初级' CUANDO el salario ENTRE 15000 Y 25000 ENTONCES '中级' CUANDO salario >25000 ENTONCES 'Senior' DEMÁS NULO FINALIZAR COMO nivel DE la empresa ORDENAR POR salario;
Análisis de declaraciones SQL :
Este SQL es el mismo que el anterior, seleccionando el nombre del empleado (name), salario (salary) y clasificándolo según su nivel salarial (level) de la tabla "empresa".
Cómo funcionan las expresiones CASE de búsqueda:
Cuando el salario (salario) es inferior a 15.000, el grado salarial se marca como "junior".
Cuando el salario está entre 15.000 y 25.000 (inclusive), el grado salarial se marca como "intermedio".
Cuando el salario es superior a 25.000, el grado salarial se marca como "senior".
Si no se cumple ninguna de las condiciones anteriores, el grado salarial se marca como NULL.
En resumen, el objetivo principal de esta declaración SQL es obtener información de los empleados, clasificarlos según su nivel salarial y ordenarlos según su nivel salarial.
5. Resumen
La expresión CASE en GaussDB es una herramienta muy útil que se puede utilizar para realizar operaciones basadas en condiciones en SQL, implementar juicio condicional y lógica de bifurcación, y optimizar aún más las consultas y operaciones de la base de datos. Al escribir código SQL, puede elegir de manera flexible un formulario simple o un formulario de búsqueda para escribir de acuerdo con las necesidades comerciales específicas, lo que puede mejorar en gran medida la eficiencia de la codificación y la legibilidad del código.
Adjunto : Escenarios de uso comunes , como: etiquetas de definición secundaria, estadísticas de saturación, indicadores de cálculo, conversión de formato de datos , etc.
Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud lo antes posible ~
RustDesk suspendió el servicio doméstico Taobao (taobao.com) debido a un fraude desenfrenado, reinició el trabajo de optimización de la versión web, Apple lanzó el chip M4, los estudiantes de secundaria crearon su propio lenguaje de programación de código abierto como una ceremonia de mayoría de edad - Los internautas comentaron: Confiando en La defensa, Yunfeng renunció a Alibaba y planea producir en el futuro el destino para programadores de juegos independientes Visual Studio Code 1.89, según anunció oficialmente Huawei. El ajuste laboral de Yu Chengdong fue clavado en el “FFmpeg Pillar of Shame”. "Hace 15 años, pero hoy tiene que agradecernos: ¿Tencent QQ Video se venga de su vergüenza anterior? La estación espejo de código abierto de la Universidad de Ciencia y Tecnología de Huazhong está oficialmente abierta al acceso a la red externa