Valores Nulos no SQL – IS NULL e IS NOT NULL no SQL
Aprenda o que são e como trabalhar com valores nulos no SQL e entenda a diferença entre valores nulos e valores vazios.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Valores Nulos no SQL – IS NULL e IS NOT NULL no SQL
Na aula de hoje, vou te mostrar como trabalhar com valores nulos no SQL e explicar a diferença entre nulos e vazios.
Vamos começar entendendo o que é um valor nulo, frequentemente confundido com um valor vazio. Isso é crucial quando você está filtrando dados usando o comando WHERE no SQL.
Veremos como o comando WHERE com o IS NULL no SQL pode ser usado para filtrar valores nulos em uma base de dados e como o IS NOT NULL no SQL nos ajuda a obter valores que não são nulos.
Entender como lidar com valores nulos no SQL é fundamental para garantir que suas análises sejam feitas da maneira correta, filtrando as informações de forma precisa.
O que é NULL no SQL?
No SQL, os valores nulos (null) indicam a ausência de dados em uma determinada coluna do banco de dados. Essa ausência difere de um valor vazio, zero ou até mesmo um espaço, pois o valor nulo representa a inexistência de um valor conhecido ou aplicável.
A utilização de valores nulos em colunas de uma tabela serve para indicar que os dados correspondentes a essa coluna são desconhecidos, indisponíveis ou simplesmente não aplicáveis.
Por outro lado, valores vazios normalmente se referem a um valor existente, embora esse valor possa ser uma linha completamente vazia. Essa distinção é fundamental para compreender como os dados são representados e tratados no SQL.
Valor Nulo no Banco de Dados
Para aprofundarmos nosso entendimento sobre valores null no SQL, vamos analisar um exemplo prático. Vou carregar a tabela de clientes do meu banco de dados utilizando o comando:
SELECT * FROM clientes;Essa tabela contém diversas informações sobre os clientes de uma empresa, incluindo a coluna de Telefone, que possui alguns valores null.

Agora, suponha que eu queira contar quantos clientes temos nessa tabela. Para isso, bastaria executar o seguinte comando:
SELECT COUNT(id_cliente) FROM clientes;A função COUNT é empregada para contar quantas linhas estão preenchidas com valores não nulos. Dessa forma, obteremos o resultado de 100, representando a quantidade de linhas e, por consequência, a quantidade de clientes registrados.

No entanto, é importante observar que a função COUNT conta os valores não nulos, e o resultado pode variar dependendo da coluna selecionada para a contagem.
Por exemplo, se utilizarmos a mesma função para contar os valores na coluna de telefone, que contém valores nulos, o resultado será diferente.
SELECT COUNT(telefone) FROM clientes;
Isso indica que temos 6 valores nulos na coluna de telefone. Vale ressaltar que nulo não é o mesmo que vazio. Se tivéssemos valores vazios em vez de nulos na coluna de telefone, a função COUNT os contaria normalmente.
Comando WHERE – Filtrando os Valores Nulos na Tabela
Como você percebeu, valores nulos podem complicar uma análise se não forem identificados. Uma maneira de identificá-los dentro de uma tabela do banco de dados é por meio do comando WHERE no SQL.
O comando WHERE possibilita filtrar a tabela de diversas maneiras, incluindo a filtragem de valores nulos. No entanto, aqui é importante mais uma vez diferenciar valores nulos de valores vazios.
Vamos executar um filtro na tabela, buscando apenas os valores vazios:
SELECT * FROM clientes
WHERE telefone = '';Nesse exemplo, estamos selecionando todos os valores da tabela clientes onde o telefone é igual a vazio. Como resultado, teremos apenas uma linha exibida em nossa tabela.

Observe que, de fato, o valor na coluna Telefone é uma string vazia, diferente de quando temos um valor nulo, que é representado por null. Isso nos permite visualizar como o SQL trata valores nulos e valores vazios.
Para filtrar os valores nulos dessa tabela com SQL, executaríamos o código da seguinte forma:
SELECT * FROM clientes
WHERE telefone IS NULL;Agora estamos corretamente delimitando que queremos pegar todos os valores da tabela cliente onde o telefone é nulo. Como resultado, teremos as 6 linhas que identificamos anteriormente com valores vazios:

Essa abordagem possibilita identificar clientes que não têm nenhuma informação preenchida para o campo Telefone e encaminhá-los para o setor responsável para tratamento.
Da mesma forma que podemos filtrar a tabela apenas para os valores nulos, também podemos filtrá-la para os valores não nulos (not null):
SELECT * FROM clientes
WHERE telefone IS NOT NULL;Esse código trará todas as linhas da tabela onde o telefone não é um valor nulo.

Assim, teremos a tabela completa dos clientes que preencheram algum valor para o telefone, incluindo o cliente que mencionamos anteriormente, que preencheu com um valor vazio.
Conclusão – Como Trabalhar com Valores Nulos no SQL – IS NULL e IS NOT NULL
Nessa aula, você aprendeu sobre o que são e como lidar com valores nulos no SQL. Compreendeu a diferença entre valores vazios e valores nulos, além de aprender a filtrar esses valores dentro de uma tabela em um banco de dados.
Saber lidar com valores nulos no SQL é uma etapa importante para conduzir análises de forma eficaz, garantindo a filtragem precisa de informações. Isso não apenas aprimora suas análises, mas também permite identificar problemas e lacunas de informações fundamentais em sua tabela.
Para um aprendizado mais completo, recomendo o curso de SQL completo com certificado da Hashtag.
Hashtag Treinamentos
Para acessar outras publicações de SQL, clique aqui!


