Capítulo 09: Introdução ao SQL no Access: SELECT, FROM e WHERE
🎯 Objetivo da Aula
Nesta aula que inaugura o Módulo 3, você entrará no mundo da Linguagem SQL (Structured Query Language), a linguagem declarativa padrão universal utilizada por praticamente todos os bancos de dados do planeta (Access, SQL Server, Oracle, PostgreSQL, MySQL e BigQuery). No laboratório de informática, você aprenderá a alternar entre o Construtor Visual de Consultas e o Modo SQL (SQL View) do Microsoft Access. Você dominará a estrutura canônica fundamental SELECT ... FROM ... WHERE, aprenderá a projetar colunas com precisão e aplicará operadores relacionais e lógicos para extrair inteligência dos dados.
Ao final desta aula, você terá programado sua primeira consulta SQL corporativa, auditando carretas de alto valor em trânsito para a diretoria de segurança da FastLog S.A.
🏢 Cenário Prático (FastLog S.A.)
Empresa: FastLog Transportes & Logística Integrada S.A.
Problema: A seguradora parceira da FastLog (Porto Seguro Cargas) enviou um comunicado urgente: qualquer carreta em trânsito com carga de valor superior a R$ 50.000,00 precisa obrigatoriamente de escolta armada caso esteja trafegando na rota do interior paulista. O gerente de logística precisava dessa lista de caminhões em menos de 5 minutos para acionar as viaturas de escolta. O assistente demorou 40 minutos tentando filtrar planilhas manualmente no Excel, e uma carreta desprotegida sofreu uma tentativa de assalto em Sumaré (SP).
Sua Missão: Como especialista em dados corporativos, você abrirá o editor SQL do Access e escreverá uma consulta em código puro que extrai em 0,01 segundo todas as ordens de frete ativas com valor superior a R$ 50.000,00, emitindo o alerta preventivo para a equipe de gerenciamento de risco.
🧠 Fundamentos: A Teoria Traduzida
1. O que é a Linguagem SQL?
A linguagem SQL é declarativa: em vez de você programar “como” o computador deve buscar os dados (como em Python ou VBA com laços e variáveis), você simplesmente declara o que você deseja receber. O motor do SGBD encarrega-se de escolher o caminho mais rápido através dos índices.
flowchart TD
SQL["💻 Código SQL ANSI<br/>SELECT ID_OrdemFrete, Valor_Frete<br/>FROM tbl_OrdensFrete<br/>WHERE Valor_Frete > 50000;"]
SQL --> ENGINE["⚙️ Motor de Banco de Dados (Access / Jet Engine)<br/>Otimizador de Consultas & Árvore B-Tree"]
ENGINE --> TABELA[("💾 Tabelas Físicas no Disco")]
TABELA --> RESULTADO["📊 Tabela Virtual de Resultados (Dataset)<br/>Apenas os registros que atendem aos critérios"]
style SQL fill:#1a365d,stroke:#fff,stroke-width:2px,color:#fff
style ENGINE fill:#234e52,stroke:#fff,stroke-width:2px,color:#fff
style TABELA fill:#744210,stroke:#fff,stroke-width:2px,color:#fff
style RESULTADO fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff2. A Estrutura Canônica: SELECT ... FROM ... WHERE
Toda consulta básica de leitura em SQL é estruturada em três blocos obrigatórios:
SELECT(Projeção): Define quais colunas você quer ver no relatório final.- Boa Prática: Especifique os nomes das colunas. Evite usar
SELECT *em sistemas profissionais, pois trazer colunas desnecessárias consome banda de rede e memória RAM.
- Boa Prática: Especifique os nomes das colunas. Evite usar
FROM(Origem): Especifica a tabela (ou tabelas) onde os dados estão fisicamente gravados.WHERE(Seleção/Filtro): Especifica a regra lógica que cada linha deve cumprir para ser exibida.
3. Operadores Relacionais e Lógicos no SQL
| Operador | Significado | Exemplo Prático |
|---|---|---|
= | Igual a | WHERE Status_Ordem = 'Em Trânsito' |
<> | Diferente de | WHERE Status_Ordem <> 'Cancelado' |
> | Maior que | WHERE Valor_Frete > 50000 |
< | Menor que | WHERE Peso_Liquido_Kg < 5000 |
>= / <= | Maior/Igual ou Menor/Igual | WHERE Data_Despacho >= #2026-10-01# |
AND | E lógico (ambas devem ser verdadeiras) | WHERE Valor_Frete > 50000 AND Status_Ordem = 'Em Trânsito' |
OR | OU lógico (ao menos uma verdadeira) | WHERE UF = 'SP' OR UF = 'PR' |
NOT | Negação lógica | WHERE NOT (Status_Ordem = 'Entregue') |
⚠️ Formatação Rigorosa de Dados no SQL do Access:
- Valores de Texto: Devem estar obrigatoriamente entre aspas simples (ex:
'Campinas'). - Valores de Data: No SQL do Access, devem estar entre cerquilhas (#) (ex:
#2026-10-01#ou#10/01/2026#). - Valores Numéricos e Moeda: Devem ser digitados puros, usando ponto como separador decimal (ex:
50000.50).
📖 Exemplo Guiado: Passo a Passo no Laboratório
Abra o arquivo FastLog_Database.accdb. Vamos acessar o editor de código SQL.
Passo 1: Abrindo o Modo SQL no Access
- Na faixa de opções superior, clique na guia Criar.
- No grupo Consultas, clique no botão Design da Consulta (Query Design).
- O Access abrirá o Construtor Visual (QBE) e a janela lateral Adicionar Tabelas.
- O Segredo: Feche a janela lateral Adicionar Tabelas.
- No canto superior esquerdo da faixa de opções, clique no botão Modo SQL (ou clique com o botão direito na aba da consulta e escolha Modo SQL).
- Uma folha em branco com o texto padrão
SELECT;se abrirá. É aqui que você programará seu código SQL!
🛠️ Prática Obrigatória 1: Criando a Consulta de Cargas Valiosas em SQL
Você escreverá a consulta solicitada pela seguradora para monitorar transportes acima de R$ 50.000,00.
Passo a Passo no Computador:
- No editor de código SQL, apague qualquer texto existente e digite rigorosamente o script abaixo:
- Executando a Consulta:
- Na faixa de opções superior (guia Design da Consulta), clique no botão com a exclamação vermelha:
! Executar(Run).
- Na faixa de opções superior (guia Design da Consulta), clique no botão com a exclamação vermelha:
- Análise do Resultado:
- O Access exibe uma grade de dados contendo apenas as ordens de frete cujo valor supera R$ 50.000,00!
- Voltando ao Código SQL:
- Clique com o botão direito sobre a aba da consulta e selecione Modo SQL para ver seu código novamente.
- Pressione
Ctrl + Bpara salvar a consulta. - Nomeie a consulta como:
qry_CargasValiosase clique em OK.
✅ Resultado Esperado (Prática 1):
A consulta qry_CargasValiosas aparece listada no Painel de Navegação lateral sob o grupo “Consultas”, pronta para ser executada a qualquer momento com um duplo clique.
🛠️ Prática Obrigatória 2: Consulta Multi-Critérios com Operador Lógico AND
Agora você refinará o filtro para atender exatamente à regra da seguradora: o valor deve ser maior que R$ 50.000,00 E a carga deve estar com status 'Em Trânsito'.
Passo a Passo no Computador:
- Abra
qry_CargasValiosasno Modo SQL. - Modifique o comando adicionando a condição composta:
- Clique no botão
! Executar. - Observe que fretes que já foram entregues ou que ainda estão apenas agendados no pátio são automaticamente excluídos da lista, exibindo apenas as carretas que estão efetivamente correndo risco na rodovia neste momento!
- Salve a consulta atualizada.
✅ Resultado Esperado (Prática 2):
A consulta retorna com precisão cirúrgica apenas as carretas ativas na malha rodoviária com alto valor agregado, reduzindo o tempo de acionamento da escolta armada para menos de 1 segundo.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o banco de dados e feche o Access.
- Nomeie o arquivo:
FastLog_BD_Cap09_SeuNome_SeuSobrenome.accdb. - Acesse o Microsoft Teams na sua turma técnica.
- Abra a tarefa: “Banco de Dados - Cap 09: Sintaxe SQL e Cláusula WHERE”.
- Anexe o seu arquivo
.accdbe confirme o envio clicando em Entregar (Turn In).
💡 Checkpoint de Gestão & TI
Por que aprender SQL é um dos maiores diferenciais competitivos para quem atua em Administração e Logística? Porque o SQL é a língua franca de todos os sistemas de dados do mundo corporativo. Quem depende de relatórios prontos feitos por outros fica refém da fila de chamados do departamento de TI. Quem sabe escrever um SELECT ... WHERE extrai respostas instantâneas direto da fonte, antecipando riscos e liderando decisões estratégicas.
🔥 Desafio de Fixação: Auditoria de Frota Pesada Disponível
A diretoria de logística precisa alocar com urgência carretas pesadas para um novo contrato de transporte de minério.
Escreva uma consulta SQL no Access que atenda aos seguintes requisitos:
- Selecione os campos
Placa,Modelo_Cavalo,Qtd_EixoseCapacidade_Kgda tabelatbl_Veiculos. - Filtre apenas caminhões que possuam 6 ou mais eixos (
Qtd_Eixos >= 6) E cuja capacidade de carga seja maior ou igual a 30.000 kg (Capacidade_Kg >= 30000). - Salve a consulta com o nome:
qry_FrotaPesadaDisponivel.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas reflexivas abaixo com base no conteúdo deste capítulo. Ao concluir, apresente o caderno ao professor para conferência e visto.
- O que representa a sigla SQL e qual é o órgão internacional responsável pela sua padronização na indústria?
- Explique por que a linguagem SQL é classificada como uma linguagem declarativa.
- Quais são as três cláusulas canônicas que compõem a estrutura básica de uma consulta de seleção em SQL?
- Qual é o papel da cláusula
SELECTe por que devemos evitar o uso indiscriminado do asterisco (SELECT *)? - Qual é a finalidade da cláusula
FROMem uma instrução SQL? - Como funciona a cláusula
WHEREna filtragem de registros de uma tabela? - Qual é a regra de sintaxe do SQL do Access para valores do tipo Texto, do tipo Data e do tipo Numérico?
- Diferencie o comportamento lógico do operador
ANDem relação ao operadorORna cláusulaWHERE. - Como alternamos entre o Modo Design visual e o Modo SQL dentro do Microsoft Access?
- No Desafio de Fixação, como os operadores relacionais
>=e o operador lógicoANDpermitiram selecionar apenas a frota pesada adequada ao transporte de minério?