Entenda a expressão CASE no GaussDB SQL

Este artigo foi compartilhado na comunidade Huawei Cloud " Exemplo de sintaxe básica SQL do GaussDB - Expressão CASE " por Gauss Squirrel Club Assistant 2.

I. Introdução

SQL é uma linguagem de computador padrão usada para acessar e manipular bancos de dados. GaussDB suporta o padrão SQL (os principais recursos do SQL2, SQL3 e SQL4 são suportados por padrão).

Esta série será apresentada com base no documento online "Cloud Database GaussDB — SQL Reference".

2. Introdução à expressão CASE

No GaussDB SQL, a expressão CASE (Expressão CASE) é uma ferramenta muito poderosa e comumente usada que pode ser usada para realizar operações baseadas em condições em SQL. As expressões CASE são semelhantes às instruções IF-THEN-ELSE, mas são mais flexíveis de usar e mais fáceis de ler e escrever.

A expressão CASE contém duas formas, uma é a forma simples e a outra é a forma de pesquisa. A redação, gramática e uso dessas duas formas serão apresentadas a seguir.

3. Expressão CASE simples no banco de dados GaussDB

1. Conceitos básicos

Uma expressão CASE simples realiza uma comparação baseada em igualdade em uma determinada expressão e executa uma operação se a expressão for igual a um determinado valor. Ou seja, pule para a expressão_resultado correspondente com base no resultado correspondente de expressão_entrada e expressão_quando.

2. Gramática básica

CASE expressão_de_entrada

WHEN quando_expressão THEN resultado_expressão

[...n]

[ELSE else_result_expression]

FIM;

ilustrar :

Entre eles, input_expression representa a expressão que precisa ser comparada, when_expression, etc. representa o valor que precisa ser comparado, result_expression, etc. representa o resultado quando cada valor é igual, else_result_expression representa o resultado padrão quando input_expression não é igual a qualquer valor.

Dica :

CASE: A função CASE simples suporta subconsultas, mas observe que input_expression e when_expression podem corresponder. Além disso, se não houver input_expression = when_expression avaliado como TRUE, quando a cláusula ELSE for especificada, o DLI retornará else_result_expression; quando a cláusula ELSE não for especificada, um valor NULL será retornado.

3. Exemplo

Supondo que o nível do funcionário seja definido com base em um salário fixo, ele pode ser executado conforme o seguinte SQL:

SELECIONE o nome

,salário

, CASO salário

     QUANDO 15.000 ENTÃO 'Júnior'

         QUANDO 20.000 ENTÃO 'Intermediário'

            QUANDO 25.000 ENTÃO 'Premium'

            QUANDO 30.000 ENTÃO 'Premium'

            QUANDO 35.000 ENTÃO 'Premium'

            OUTRO NULO

        Nível FIM COMO

DA empresa

ORDENAR POR salário;

Análise de instrução SQL :

O teste utiliza uma tabela de empresa criada no banco de dados GaussDB.

Este SQL seleciona o nome (nome), salário (salário) do funcionário e um campo classificado de acordo com o nível salarial (nível) da tabela "empresa". E use a instrução "ORDER BY salário" para classificar os resultados do salário mais baixo para o mais alto.

Como funcionam as expressões CASE simples:

Se o valor do campo “salário” for igual a 15.000, então o valor do campo “nível” será “júnior”.

Se o valor do campo “salário” for igual a 20.000, então o valor do campo “nível” é “intermediário”.

Se o valor do campo “salário” for igual a 25.000 ou 30.000 ou 35.000, então o valor do campo “nível” é “avançado”.

Se o valor do campo “salário” não for igual a nenhum dos valores acima, então o valor do campo “nível” será NULO.

4. Pesquise a expressão CASE no banco de dados GaussDB

1. Conceitos básicos

Procurar uma expressão CASE significa realizar uma comparação baseada na desigualdade em uma determinada expressão e realizar a operação correspondente se a expressão satisfizer a condição fornecida. Ou seja, a expressão_booleana de cada cláusula WHEN é avaliada na ordem especificada. Retorna a expressão_resultado da primeira expressão_booleana avaliada como TRUE.

2. Gramática básica

CASO WHEN expressão_booleana THEN expressão_resultado

[...n]

[ELSE else_result_expression]

FIM;

ilustrar:

Entre eles, boolean_expression, etc. representam as condições que precisam ser comparadas, result_expression, etc. representam os resultados da operação quando as condições correspondentes são atendidas, e else_result_expression representa o resultado padrão quando a expressão não atende a nenhuma condição.

Dica :

boolean_expression: pode conter subconsultas, mas o valor de retorno de toda a expressão boolean_expression só pode ser do tipo booleano.

Se não houver nenhuma expressão_booleana avaliada como TRUE, o DLI retornará else_result_expression quando a cláusula ELSE for especificada; quando a cláusula ELSE não for especificada, um valor NULL será retornado.

3. Exemplo

Supondo que o nível do funcionário seja definido com base na faixa salarial, ele pode ser executado conforme o seguinte SQL:

SELECIONE o nome

,salário

,CASO QUANDO salário <15000 THEN '初级'

         QUANDO salário ENTRE 15.000 E 25.000 ENTÃO '中级'

            QUANDO salário >25.000 ENTÃO 'Sênior'

            OUTRO NULO

        Nível FIM COMO

DA empresa

ORDENAR POR salário;

Análise de instrução SQL :

Este SQL é igual ao anterior, selecionando o nome (nome), salário (salário) do funcionário e classificando-o de acordo com seu nível salarial (nível) na tabela "empresa".

Como funcionam as expressões CASE de pesquisa:

Quando o salário (salário) é inferior a 15.000, a categoria salarial é marcada como “júnior”.

Quando o salário está entre 15.000 e 25.000 (inclusive), a faixa salarial é marcada como “intermediária”.

Quando o salário é superior a 25.000, a faixa salarial é marcada como “sênior”.

Se nenhuma das condições acima for atendida, a faixa salarial será marcada como NULA.

Em resumo, o objetivo principal desta instrução SQL é obter informações dos funcionários, classificá-los de acordo com seus níveis salariais e classificá-los de acordo com seus níveis salariais.

5. Resumo

A expressão CASE no GaussDB é uma ferramenta muito útil que pode ser usada para realizar operações baseadas em condições em SQL, implementar julgamento condicional e lógica de ramificação e otimizar ainda mais consultas e operações de banco de dados. Ao escrever código SQL, você pode escolher com flexibilidade o formulário simples ou o formulário de pesquisa para escrever de acordo com as necessidades específicas do negócio, o que pode melhorar muito a eficiência da codificação e a legibilidade do código.

Em anexo : Cenários de uso comuns , como: tags de definição secundária, estatísticas de saturação, indicadores de cálculo, conversão de formato de dados , etc.

Clique para seguir e conhecer as novas tecnologias da Huawei Cloud o mais rápido possível~

 

RustDesk suspendeu o serviço doméstico Taobao (taobao.com) devido a fraude desenfreada, reiniciou o trabalho de otimização da versão web, a Apple lançou o chip M4, estudantes do ensino médio criaram sua própria linguagem de programação de código aberto como uma cerimônia de maioridade - Internautas comentaram: Confiando em a defesa, Yunfeng renunciou ao Alibaba e planeja produzir no futuro o destino para programadores de jogos independentes o Visual Studio Code 1.89, é oficialmente anunciado pela Huawei. O ajuste de trabalho de Yu Chengdong foi pregado no “Pilar da Vergonha FFmpeg. ” 15 anos atrás, mas hoje ele tem que nos agradecer - Tencent QQ Video vinga sua vergonha anterior? A estação espelho de código aberto da Universidade de Ciência e Tecnologia Huazhong está oficialmente aberta ao acesso à rede externa
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/4526289/blog/11106074
Recomendado
Clasificación