Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

📐 UNIDADE IV: SQL AVANÇADO E DDL

Nesta unidade, avançaremos para consultas e comandos que demonstram o verdadeiro potencial analítico e estrutural dos SGBDs modernos. 🛡️🧩


Objetivo: Dominar a lógica ternária do SQL (TRUE, FALSE, NULL) e compreender o comportamento de valores ausentes em conjuntos de dados profissionais.


📗 PASSO 1: O Conceito de NULL

O valor NULL representa a ausência total de um dado. Ele possui três interpretações principais: 🛡️🧩

🕵️ Interpretações do NULL:

  1. 🏷️ Valor Desconhecido: O campo existe, mas o valor é ignorado (ex: Data de Nascimento não informada).
  2. 🔒 Valor Indisponível: Por motivos de privacidade ou política de dados.
  3. 🚫 Valor Não Aplicável: A informação não faz sentido (ex: Complemento em casa térrea).

📗 PASSO 2: Lógica Ternária em SQL

Diferente da lógica booleana tradicional (True/False), o SQL utiliza a Lógica Ternária para lidar com a incerteza: 🛡️

📊 Fluxo de Decisão Ternária

flowchart TD
    A[🛡️ Expressão SQL] --> B{🎯 Resultado?}
    B -- "TRUE ✅" --> C[📄 Linha Selecionada]
    B -- "FALSE ❌" --> D[🗑️ Linha Descartada]
    B -- "NULL ❓" --> D

Na cláusula WHERE, apenas as linhas que resultam estritamente em TRUE são selecionadas tecnicamente. 🛡️


📗 PASSO 3: Operadores IS NULL e IS NOT NULL

Para checar a presença de valores nulos, nunca utilize =, mas sim os operadores universais: 🛡️

Operador TécnicoDescrição / Propósito
IS NULLFiltra registros onde o campo está vazio.
IS NOT NULLFiltra registros onde o campo possui um valor.

🛠️ Exemplo Prático:

-- Selecionar contatos sem data de nascimento definida
SELECT NOME, SOBRENOME 
FROM CONTATO 
WHERE NASCIMENTO IS NULL;

💡 Dica do Especialista: No SQL, a comparação NASCIMENTO = NULL sempre retornará FALSE (ou UNKNOWN), pois o nulo nunca é igual a nada, nem a si mesmo. 🚀🛡️