Questão FC265918
Qual o efeito da execução desse código no banco de dados?
Linguagem SQL
IDECAN · 2022
Observe o código em SQL Server 2016 a seguir:
SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR, C.QTD, D.DESCRIC
FROM CLIENTES A, PEDIDOS B, ITENS C, PRODUTOS D
WHERE A.CODIGO = B.CODCLIENTE
AND B.CODIGO = C.CODPEDIDO
AND C.CODPRODUTO = D.CODIGO
Qual o efeito da execução desse código no banco de dados?
- No comando acima temos as tabelas clientes e pedidos apenas, unificadas em uma mesma cláusula.
- No comando acima temos as tabelas, itens e produtos apenas, unificadas em uma mesma cláusula.
- No comando acima foram atribuídos aliases às tabelas itens e produtos apenas.
- As tabelas são unificadas, todas elas, por um campo chave, no caso as letras A, B, C e D.
- As tabelas são unificadas, todas elas, por um campo chave.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
O comando executa a junção das quatro tabelas listadas, produzindo um conjunto de resultados onde as linhas satisfazem as igualdades especificadas na cláusula WHERE. Essa sintaxe com tabelas separadas por vírgula e condições de igualdade equivale a um INNER JOIN implícito.
Foram usados aliases (A, B, C, D) para citar as tabelas: A = CLIENTES, B = PEDIDOS, C = ITENS, D = PRODUTOS. As chaves relacionadas são: A.CODIGO = B.CODCLIENTE, B.CODIGO = C.CODPEDIDO e C.CODPRODUTO = D.CODIGO.
O efeito é retornar colunas combinadas (A.CODIGO, A.NOME, B.DATA, B.VALOR, C.QTD, D.DESCRIC) apenas para os registros que têm correspondência em todas as tabelas. Não há alteração nos dados do banco — é apenas a geração de um resultset filtrado. Se não houver correspondência, nenhuma linha será retornada; correspondências múltiplas geram várias linhas.
Conteúdo do catálogo FC Concursos · Atualizado em