Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2023

Banco de DadosSQL
Código
fc068627
Banca
FCC
Órgão
Copergás - PE
Ano
2023
Nível
Superior
Cargo
Analista Sistemas
O comando SQL que está correto, sem erros de sintaxe, é:
  1. ASELECT Servicos.ServicoID, Clientes.NomeCliente FROM Servicos INNER JOIN Clientes ON Servicos.ClienteID = Clientes.ClienteID;
  2. BSELECT COUNT(DISTINCT Cidade) FROM TABLE Clientes;
  3. CSELECT * FROM Clientes WHERE Cidade IS LIKE 'Recife';
  4. DUPDATE Clientes TO NomeCliente = 'Maria da Silva' AND City= 'Caruaru' WHERE ClienteID IS 11234;
  5. EDELETE FROM Clientes WHERE NomeCliente=*.*;
Revelar gabarito e comentário

GabaritoA — SELECT Servicos.ServicoID, Clientes.NomeCliente FROM Servicos INNER JOIN Clientes ON Servicos.ClienteID = Clientes.ClienteID;

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”.

SQL: Sintaxe de comandos

Gabarito: letra A. A única alternativa que apresenta um comando SQL sintaticamente correto é a letra A, que realiza um INNER JOIN entre as tabelas Servicos e Clientes usando a cláusula ON padrão. As demais alternativas contêm erros claros na sintaxe, como uso indevido de palavras reservadas ou operadores.

Comandos SQL
  • 1SELECT
    • JOIN (A)
      • INNER JOIN + ON
    • TABLE (B)
      • FROM sem TABLE
    • IS LIKE (C)
      • Usar só LIKE
  • 2UPDATE
    • TO / AND / IS (D)
      • SET + vírgula + =
  • 3DELETE
    • = *.* (E)
      • Usar LIKE com %
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O comando segue a sintaxe correta do JOIN: as colunas são selecionadas com a qualificação da tabela, a cláusula INNER JOIN é usada adequadamente e a condição de junção é especificada com ON. Não há erros.

Alternativa B — ❌ Incorreta

A palavra TABLE não deve ser usada na cláusula FROM. A sintaxe correta seria FROM Clientes, sem o TABLE. Exemplo: SELECT COUNT(DISTINCT Cidade) FROM Clientes;

Alternativa C — ❌ Incorreta

O operador IS LIKE não existe em SQL. Para buscar um padrão, utiliza-se apenas LIKE. O correto seria WHERE Cidade LIKE 'Recife'.

Alternativa D — ❌ Incorreta

O comando UPDATE possui múltiplos erros: (1) a palavra TO deve ser substituída por SET; (2) as atribuições devem ser separadas por vírgula, não por AND; (3) a condição ClienteID IS 11234 usa IS incorretamente — o correto é = (ou IS apenas para NULL). A sintaxe correta seria: UPDATE Clientes SET NomeCliente = 'Maria da Silva', Cidade = 'Caruaru' WHERE ClienteID = 11234;

Alternativa E — ❌ Incorreta

O padrão *.* não é válido em uma comparação de igualdade. Para verificar um padrão de caracteres, deve-se usar o operador LIKE com curingas apropriados (% ou _). Além disso, o uso de = com *.* é inválido, pois espera-se uma expressão literal compatível com o tipo da coluna.

Link permanente: /questoes/fc068627