Coalesce sql: descrição, uso, exemplos

Ao compilar sql-queries,A situação ao selecionar dados, você precisa comparar os valores de várias colunas e exibir uma delas, que contém dados (não vazios). Este problema é perfeitamente resolvido pela expressão Coalesce. Neste artigo, você encontrará uma descrição completa da expressão Coalesce sql, uma descrição dos recursos de uso, bem como exemplos.

coalesce sql description

Saída de valores não nulos usando Coalesce. Recursos

Considere as características de uso de Sql Coalesce:

  1. Atribui uma indicação de qualquer número de argumentos (em contraste com Isnull / Nvl / Nvl2, o número de argumentos em que é limitado).
  2. Pode aceitar subconsultas como um argumento.
  3. Retorna o resultado igual a o primeiro diferente de Null, ou Null, se um valor diferente de Null não for encontrado.
  4. Sql Coalesce pode ser usado na cláusula Select para selecionar um valor não vazio, e também em onde especificar que um conjunto de colunas com valores vazios não é permitido (/ permitido).
  5. Esta expressão é equivalente a aplicar expressãoCaso, que verifica cada argumento sucessivamente na condição Quando argumento1 não é nulo, então argumento1. Na verdade, o Coalesce é um "atalho" projetado para facilidade de uso e, em muitos otimizadores de consulta de SGBD, reescreva a expressão Coalesce no Caso.
  6. Os recursos do Sql Coalesce estão disponíveis em todos os sistemas líderes de gerenciamento de banco de dados relacionais.

sql coalesce

Sintaxe Coalesce

Todos que usaram Coalesce pelo menos uma vezcompilando sql-queries, sabe que a sintaxe dessa expressão é extremamente simples. É suficiente especificar em argumentos entre parênteses, verificados em Nulo, separados por vírgulas. Se assumirmos que os argumentos têm os nomes arg1, arg2, ... argN, a sintaxe Coalesce ficará assim:

Coalesce (arg1, arg2, ... argN).

sql coalesce funções

Vamos preparar várias tabelas para estudar o mecanismo desta expressão.

Preparando tabelas

Para entender melhor a descrição de Coalesce sql, criaremos no banco de dados duas tabelas contendo informações sobre objetos imobiliários.

A primeira tabela de área deve conter os nomes de objetos imobiliários e sua área. A área pode ser especificada (area_yt) ou declarada (area_decl).

ID

object_name

area_yt

area_decl

1

Edifício 1

116,2

114

2

Objeto de construção inacabado 1

568

3

Quarto 1

64,7

4

Quarto 2

34,2

5

Lote de terreno 1

112

111,6

6

Facilidade 1

7

Salas 3

27,9

8

Construção 2

37,2

36,4

9

Prédio 2

A segunda tabela é basic_characteristiccontém informações sobre as principais características da propriedade - Extensão, Profundidade, Área, Escopo, Altura.

ID

object_name

Extensão

Profundidade

Area

Escopo

Altura

1

Edifício 1

892,4

30

2

Prédio 2

48

3

Facilidade 1

164,7

4

Lote de terreno 1

5

Quarto 1

23,6

6

Quarto 2

34,7

7

Salas 3

19,8

Examinamos a sintaxe do Coalesce sql, a descrição, os recursos de uso e prosseguimos diretamente para os exemplos.

Exemplos de uso

A sintaxe da expressão Coalesce é muito simples,mas é importante lembrar que o resultado do comando será o PRIMEIRO valor não vazio encontrado na lista de argumentos. Essa observação é muito importante, portanto os argumentos na expressão devem ser colocados em ordem de importância. A maneira mais fácil de entender o princípio da tabela de área. Faça um pedido que selecione o nome da propriedade, bem como o valor da área:

SELECT Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl)

FROM Área

E obtenha o resultado:

ID

object_name

Coalesça

1

Edifício 1

116,2

2

Objeto de construção inacabado 1

568

3

Quarto 1

64,7

4

Quarto 2

34,2

5

Lote de terreno 1

112

6

Facilidade 1

7

Salas 3

27,9

8

Construção 2

37,2

9

Prédio 2

Para os objetos "Building 1", "Land plot 1" e"Construction 2" foi preenchido com os dois valores da área, mas na prioridade foi refinada a área, porque nós indicamos na lista de argumentos primeiro. A expressão Coalesce encontrou o primeiro valor não vazio e o deduziu, impedindo a visualização adicional dos argumentos. Essa construção da consulta está correta, porque a área especificada é mais específica que a declarada. Se nós especificarmos a área declarada como o primeiro argumento, então se este campo de tabela estiver cheio, ele estará em prioridade.

Além de usar no Select, muitas vezesa expressão Coalesce é aplicada com a cláusula Where. Ele permite que você exclua do resultado as linhas em que a lista de campos está vazia (ou vice-versa, inclua apenas os valores no resultado em que a lista de campos não está preenchida). Essa situação está em toda parte: por exemplo, no momento do registro de um novo funcionário, apenas informações básicas sobre o funcionário foram inseridas no banco de dados, e as informações detalhadas foram deixadas "para mais tarde". Gradualmente, as "lacunas" flutuam - antes do cheque ou quando o empregado está de férias / viagem de negócios / licença médica.

Escolha na tabela as principais características dos objetos imobiliários, que não possuem nenhum dos valores das características:

SELECT id, object_name

FROM basic_characteristic

Onde coalescer (extensão, profundidade, área, escopo, altura) é nulo

Para esta consulta, há uma correspondência na tabela - o objeto "Land plot 1", no qual todos os campos com características estão vazios:

ID

object_name

4

Lote de terreno 1

características de uso de combinação de sql

Esperamos que nossa descrição detalhada do Coalesce sql ajude você a entender todos os recursos de usar essa expressão, além de lidar com nuances importantes.

</ p>
Gostei:
0
Artigos relacionados
Futuro perfeito: exemplos de uso
Para ajudar o aluno: a definição, os tipos e
Necessidades materiais do homem - exemplos,
Declaração SQL INNER JOIN: exemplos, sintaxe
Exemplos de sistemas operacionais reais
TENDO SQL: descrição, sintaxe, exemplos
Para iniciantes: exemplos de entrevistas
Preparando-se para um emprego: exemplos
Metonímia. Exemplos do artístico
Posts Populares
para cima