Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2025

Banco de DadosSQL
Código
qg477899
Banca
FUNDATEC
Órgão
Prefeitura de Porto Alegre - RS
Ano
2025
Nível
Superior
Cargo
Auditor Fiscal da Receita Municipal - Bloco II
A linguagem SQL oferece uma variedade de comandos e funcionalidades para manipulação e consulta de dados em bancos de dados relacionais. Com base nas práticas recomendadas e comandos do padrão ANSI SQL, analise as assertivas abaixo:I. A cláusula JOIN é utilizada para combinar registros de duas ou mais tabelas com base em uma condição comum entre elas.II. A cláusula GROUP BY deve ser sempre acompanhada da cláusula HAVING, pois esta última é responsável por agrupar os dados.III. O comando CASE só pode ser utilizado em instruções SQL do tipo SELECT, não sendo permitido em outras operações como UPDATE ou DELETE.Quais estão corretas?
  1. AApenas I.
  2. BApenas III.
  3. CApenas I e II.
  4. DApenas II e III.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoA — Apenas I.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Cláusulas e comandos SQL padrão ANSI

Gabarito: letra A (apenas I). A afirmativa I está correta: a cláusula JOIN realmente combina registros de tabelas com base em uma condição, conforme a definição do padrão ANSI SQL. Já as afirmativas II e III contêm erros conceituais: GROUP BY não exige HAVING, e o comando CASE pode ser usado em UPDATE, DELETE e outras operações, não apenas em SELECT.

Item I — ✅ Correto

A cláusula JOIN é empregada para unir registros de duas ou mais tabelas a partir de uma condição de correspondência (normalmente uma chave estrangeira igual a uma chave primária). Exemplo: SELECT * FROM A JOIN B ON A.id = B.id;. A descrição está em linha com o padrão ANSI SQL.

Item II — ❌ Incorreto

A afirmativa inverte os papéis. GROUP BY é a cláusula que agrupa linhas com valores idênticos em colunas especificadas, enquanto HAVING é opcional e serve para filtrar grupos após a agregação (como um WHERE para grupos). Portanto, GROUP BY não precisa ser acompanhado de HAVING e muito menos HAVING é responsável por agrupar.

Item III — ❌ Incorreto

O comando CASE é uma expressão condicional que pode ser usada em diversas partes de uma instrução SQL, incluindo SELECT, UPDATE, DELETE, ORDER BY, WHERE etc. Por exemplo, em um UPDATE é perfeitamente válido: UPDATE Tabela SET coluna = CASE WHEN condicao THEN valor1 ELSE valor2 END;. Logo, a restrição afirmada é falsa.

Conclusão: Somente a assertiva I está correta. Portanto, a alternativa que atende ao enunciado é a letra A.

Link permanente: /questoes/qg477899