FC ConcursosFC Concursos

Questão FC90516

A seguir, são apresentadas as estruturas de duas tabelas, de nomes Customers e Orders, em um banco de dados, e também um comando SQL relativo a essas tabelas. Customers CustomerID

Linguagem SQL

CEBRASPE (CESPE) · 2024

A seguir, são apresentadas as estruturas de duas tabelas, de nomes Customers e Orders, em um banco de dados, e também um comando SQL relativo a essas tabelas.

Customers
CustomerID (INT) – identificador único do
cliente
CustomerName (VARCHAR) – nome do cliente
 
Orders
OrderID (INT) – identificador único do pedido
CustomerID (INT) – identificador do cliente que
fez o pedido
OrderDate (DATE) – data do pedido
 
SELECT Customers.CustomerName, Orders.OrderDate
FROM Customers
LEFT OUTER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
 
Com base nessas informações, julgue o item subsequente.
 
A cláusula ON na consulta estabelece a condição para a junção das duas tabelas, especificando que o CustomerID da tabela Customers deve corresponder ao OrderID da tabela Orders.
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

Comentário: A assertiva correta seria:

"A cláusula ON na consulta estabelece a condição para a junção das duas tabelas, especificando que o CustomerID da tabela Customers deve corresponder ao CustomerID da tabela Orders."

Explicação

O erro na afirmativa original está em afirmar que o CustomerID da tabela Customers deve corresponder ao OrderID da tabela Orders, o que não faz sentido.
  1. Entendendo a estrutura das tabelas
    • Customers (Clientes):
      • CustomerID: Identificador único de cada cliente.
      • CustomerName: Nome do cliente.
    • Orders (Pedidos):
      • OrderID: Identificador único do pedido.
      • CustomerID: Identificador do cliente que fez o pedido.
      • OrderDate: Data do pedido.
  2. O erro na afirmativa
    • A cláusula ON Customers.CustomerID = Orders.CustomerID está correta, pois conecta as tabelas pelo campo que relaciona clientes aos pedidos.
    • O erro está em afirmar que a condição ON compara CustomerID com OrderID, o que é incorreto.
    • OrderID identifica pedidos, enquanto CustomerID identifica clientes, sendo esse último o campo correto para junção.
  3. O papel do LEFT OUTER JOIN
    • Retorna todos os clientes da tabela Customers, incluindo aqueles que não têm pedidos registrados na tabela Orders.
    • Para clientes sem pedidos, a coluna Orders.OrderDate será NULL.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo