📐 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:
- 🏷️ Valor Desconhecido: O campo existe, mas o valor é ignorado (ex: Data de Nascimento não informada).
- 🔒 Valor Indisponível: Por motivos de privacidade ou política de dados.
- 🚫 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écnico | Descrição / Propósito |
|---|---|
IS NULL | Filtra registros onde o campo está vazio. |
IS NOT NULL | Filtra 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 = NULLsempre retornará FALSE (ou UNKNOWN), pois o nulo nunca é igual a nada, nem a si mesmo. 🚀🛡️