Informática · Concurso PF
Noções de linguagem SQL (DDL, DML, SELECT e JOIN)
3 min de leitura5 flashcards8 questões
Cai no edital de: Agente PF, Escrivão PF, Papiloscopista PF
Resumo: Noções de linguagem SQL (DDL, DML, SELECT e JOIN)
Essência. SQL (Structured Query Language) é a linguagem declarativa padrão (ISO/ANSI) dos bancos relacionais: diz o que se quer, não como buscar. Divide-se em sublinguagens:
- DDL (definição):
CREATE,ALTER,DROP,TRUNCATE→ mexem na estrutura. - DML (manipulação):
INSERT,UPDATE,DELETE(eSELECT, às vezes separado como DQL) → mexem nos dados. - DCL (controle):
GRANT,REVOKE→ permissões. - DTL/TCL (transação):
COMMIT,ROLLBACK,SAVEPOINT.
SELECT — ordem de escrita: SELECT colunas FROM tabela WHERE filtro de linhas GROUP BY agrupamento HAVING filtro de grupos ORDER BY ordenação. Ordem lógica de execução: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
- Agregação:
COUNT,SUM,AVG,MIN,MAX.COUNT(*)conta linhas;COUNT(coluna)ignora nulos. - JOIN:
INNER(só correspondências),LEFT(todas da esquerda + correspondências, nulos onde não há),RIGHT,FULL. - Nulo: testa-se com
IS NULL, nunca= NULL.
Pegadinha Cebraspe. "O comando DELETE remove a tabela do banco" → errado: DELETE apaga linhas; quem remove a tabela é DROP. DELETE sem WHERE apaga todas as linhas, mas a tabela continua.
Visão geral
Basta ler consultas simples e prever o resultado. Os itens mais cobrados: categorias de comando, diferença WHERE × HAVING, tipos de JOIN, DISTINCT e tratamento de nulos.
Regra
SELECT uf, COUNT(*) AS total
FROM ocorrencias
WHERE ano = 2025
GROUP BY uf
HAVING COUNT(*) > 100
ORDER BY total DESC;
Lê-se: das ocorrências de 2025, conte por UF, mostre só as UFs com mais de 100 e ordene da maior para a menor.
| Comando | Categoria | Efeito |
|---|---|---|
| CREATE TABLE | DDL | Cria tabela |
| ALTER TABLE | DDL | Altera estrutura |
| DROP TABLE | DDL | Remove tabela e dados |
| TRUNCATE | DDL | Esvazia a tabela (mantém estrutura) |
| INSERT / UPDATE / DELETE | DML | Inclui / altera / exclui linhas |
| GRANT / REVOKE | DCL | Concede / retira permissão |
| COMMIT / ROLLBACK | DTL | Confirma / desfaz transação |
Pontos-chave
- WHERE filtra linhas antes do agrupamento e não aceita função de agregação; HAVING filtra grupos.
- DISTINCT elimina linhas repetidas do resultado.
- LIKE:
%= qualquer sequência;_= um caractere.'Jo%'pega João, Jonas. - IN, BETWEEN (inclusivo nas pontas), ORDER BY padrão crescente (ASC).
- UNION remove duplicatas; UNION ALL mantém.
- UPDATE sem WHERE altera todas as linhas.
- Visão (VIEW): consulta armazenada que funciona como tabela virtual.
Como o Cebraspe cobra
- "Os comandos CREATE, ALTER e DROP pertencem à DDL" → certo.
- "A cláusula HAVING é usada para filtrar grupos formados pelo GROUP BY" → certo.
- "Em um LEFT JOIN, só aparecem as linhas com correspondência nas duas tabelas" → errado (esse é o INNER JOIN).
- "A condição WHERE coluna = NULL retorna os registros com valor nulo" → errado (usa-se IS NULL).
- "TRUNCATE remove a estrutura da tabela" → errado (remove as linhas; a estrutura fica).
Mapa mental: Noções de linguagem SQL (DDL, DML, SELECT e JOIN)
Toque play para percorrer o mapa. Clique num card para ver de perto, no fundo para afastar; arraste para mover e use Ctrl/⌘ + roda do mouse (ou a pinça) para zoom.
Flashcards de Noções de linguagem SQL (DDL, DML, SELECT e JOIN)
Tente lembrar antes de virar o card.
- Revelar resposta
Sublinguagens do SQL
DDL: CREATE, ALTER, DROP, TRUNCATE. DML: INSERT, UPDATE, DELETE (SELECT/DQL). DCL: GRANT, REVOKE. DTL: COMMIT, ROLLBACK.
- Revelar resposta
WHERE × HAVING
WHERE filtra linhas antes do agrupamento; HAVING filtra grupos depois do GROUP BY.
- Revelar resposta
DELETE × DROP
DELETE apaga linhas (sem WHERE, todas), a tabela continua. DROP remove a tabela.
- Revelar resposta
COUNT(*) × COUNT(coluna)
COUNT(*) conta todas as linhas; COUNT(coluna) ignora nulos.
- Revelar resposta
INNER JOIN × LEFT JOIN
INNER: só correspondências. LEFT: todas as linhas da esquerda, com nulos onde não há correspondência.
Questões de Noções de linguagem SQL (DDL, DML, SELECT e JOIN)
Questão 1 · Agente PF · Certo ou Errado
O comando DELETE, sem cláusula WHERE, remove a tabela do banco de dados.
Revelar gabarito
Gabarito: Errado
Errado. DELETE apaga as linhas; a tabela continua. Quem remove a tabela é DROP.
Questão 2 · Agente PF · Certo ou Errado
GRANT e REVOKE pertencem à linguagem de controle de dados (DCL).
Revelar gabarito
Gabarito: Certo
Certo. Tratam de permissões.
Questão 3 · Agente PF · Certo ou Errado
A cláusula HAVING é usada para filtrar grupos formados por GROUP BY.
Revelar gabarito
Gabarito: Certo
Certo. WHERE filtra linhas; HAVING, grupos.
Questão 4 · Agente PF · Certo ou Errado
Para selecionar registros com valor ausente em uma coluna, usa-se a condição coluna = NULL.
Revelar gabarito
Gabarito: Errado
Errado. Usa-se IS NULL.
Questão 5 · Agente PF · Certo ou Errado
Em um LEFT JOIN, as linhas da tabela à esquerda sem correspondência na outra tabela são descartadas do resultado.
Revelar gabarito
Gabarito: Errado
Errado. No LEFT JOIN elas aparecem, com nulos nas colunas da direita.