Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fc063242
Banca
FCC
Órgão
SEFAZ-AP
Ano
2022
Cargo
Auditor da Receita Estadual - Conhecimentos Específicos
Em um banco de dados SQL aberto em condições ideais, considere a existência de uma tabela chamada clientes com os campos clienteID e nomeCliente e de uma tabela chamada pedidos com os campos pedidoID, clienteID e dataPedido.A coluna clienteID na tabela pedidos se refere ao clienteID na tabela clientes, ou seja, a relação entre elas ocorre por meio da coluna clienteID.Para selecionar pedidoID, nomeCliente e dataPedido apenas de registros que possuam valores correspondentes nas duas tabelas utiliza-se a instrução SQL
  1. ASELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos INNER JOIN clientes ON pedidos.clienteID=clientes.clienteID;
  2. BSELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos AND SELECT clientes WHERE pedidos.clienteID=clientes.clienteID;
  3. CSELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos UNION clientes ON pedidos.clienteID=clientes.clienteID;
  4. DSELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos FULL INTER JOIN clientes ON pedidos.clienteID=clientes.clienteID;
  5. ESELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos INNER JOIN FROM clientes WHERE pedidos.clienteID=clientes.clienteID;
Revelar gabarito e comentário

GabaritoA — SELECT pedidos.pedidoID, clientes.nomeCliente, pedidos.dataPedido FROM pedidos INNER JOIN clientes ON pedidos.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: Instrução SELECT com INNER JOIN

Gabarito: letra A. A instrução SQL correta para selecionar registros com valores correspondentes em ambas as tabelas é o INNER JOIN, que retorna apenas a interseção entre as tabelas (conforme material de apoio). As demais alternativas apresentam erros de sintaxe ou uso indevido de cláusulas.

Alternativa A — ✅ Correta ⟵ GABARITO

A sintaxe INNER JOIN ... ON é a forma padrão para realizar uma junção que retorna apenas os registros onde há correspondência entre as colunas especificadas. A consulta seleciona pedidoID, nomeCliente e dataPedido das tabelas pedidos e clientes, unindo-as pela coluna clienteID. O resultado contém apenas os registros que possuem valores iguais em ambas as tabelas.

Alternativa B — ❌ Incorreta

A sintaxe FROM pedidos AND SELECT clientes não é válida em SQL. O comando SELECT não pode ser concatenado com AND dessa forma. Para unir dados de duas tabelas, deve-se usar uma cláusula JOIN (como INNER JOIN) ou uma junção implícita com WHERE, mas jamais um SELECT dentro do FROM sem a estrutura adequada.

Alternativa C — ❌ Incorreta

A cláusula UNION é usada para combinar resultados de duas consultas distintas, não para realizar junção de tabelas. Além disso, a sintaxe UNION ... ON é incorreta; o ON é exclusivo das cláusulas JOIN (INNER, LEFT, RIGHT, FULL). A junção correta exige JOIN.

Alternativa D — ❌ Incorreta

FULL INTER JOIN não é uma cláusula SQL válida. Existe FULL OUTER JOIN, que retorna todos os registros de ambas as tabelas (com preenchimento NULL onde não há correspondência). O termo "INTER" não faz parte da sintaxe SQL padrão.

Alternativa E — ❌ Incorreta

A estrutura INNER JOIN FROM clientes está errada. A sintaxe correta é tabela1 INNER JOIN tabela2 ON condição; não se utiliza FROM após o JOIN. Além disso, a condição de junção deve vir em uma cláusula ON, não WHERE (embora WHERE também funcione em junções implícitas, o JOIN exige ON).

Link permanente: /questoes/fc063242