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
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;
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.
- 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.
- Customers (Clientes):
- O erro na afirmativa
- A cláusula
ON Customers.CustomerID = Orders.CustomerIDestá correta, pois conecta as tabelas pelo campo que relaciona clientes aos pedidos. - O erro está em afirmar que a condição ON compara
CustomerIDcomOrderID, o que é incorreto. OrderIDidentifica pedidos, enquantoCustomerIDidentifica clientes, sendo esse último o campo correto para junção.
- A cláusula
- 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.OrderDateseráNULL.
Conteúdo do catálogo FC Concursos · Atualizado em