Inicial > Não categorizado > Case + SubQueries

Case + SubQueries

Galera, estes dias o MVP Adam Haines postou uma caso bem interessante que precisamos tomar cuidado.

 

SubQueries + CASE,

 

Veja um exemplo:

 

SELECT CASE (SELECT Col1 FROM Test)

          WHEN 30 THEN ‘Pequeno’

          WHEN 60 THEN ‘Médio’

          ELSE ‘Grande’

       END, *         

  FROM Test

 

Veja o plano de execução:

 

 

Ou seja, o SQL vai ler a tabela Test para cada opção no CASE, portanto cuidado. Uma alternativa para escrever esta consulta seria o seguinte:

 

SELECT (SELECT CASE Col1

                 WHEN 30 THEN ‘Pequeno’

                 WHEN 60 THEN ‘Médio’

                 ELSE ‘Grande’

               END

               FROM Test), *         

  FROM Test

 

Veja o plano de execução: 

 

 

Captou a mensagem?

 

Abraços

Categorias:Não categorizado
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: