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?
AApenas I.
BApenas III.
CApenas I e II.
DApenas II e III.
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.