Em um banco de dados, os registros são armazenados e decompostos em tabelas e o relacionamento entre elas ocorre através de chaves estrangeiras que permitem combinar os dados. Por exemplo, os dados de cliente estão armazenados em uma tabela e os dados de compras estão armazenados em outra tabela, para se listar os dados de clientes com os dados de compras em conjunto, usa-se a chave estrangeira código do cliente para este elo. Neste sistema de loja, a seguinte consulta foi realizada: SELECT CLI\.\*, COMP\.\* FROM CLIENTE AS CLI LEFT OUTER JOIN COMPRAS AS COMP ON CLI.COD_CLIENTE = COMP.COD_CLIENTE A respeito desta consulta assinale a afirmação correta: Apenas clientes com compras serão visualizados Todos os registros de clientes, mesmo que não tenham compras, serão visualizados Todos os registros de clientes e de compras mesmo que não tenham correlação entre si serão visualizados Todos os registros de compras, mesmo sem clientes, serão visualizados Apenas registros que tenham valores nos dois campos e que tenham correlação serão visualizados.
Respostas
Resposta:
Apenas registros que tenham valores nos dois campos e que tenham correlação serão visualizados.
Resposta:
ESTÁ ERRADA Apenas registros que tenham valores nos dois campos e que tenham correlação serão visualizados.
Explicação:
Sua resposta está incorreta. A alternativa está incorreta pois como o tipo de junção empregado é o LEFT OUTER JOIN, isto é, a tabela da esquerda vai ser usada como base e como CLIENTE foi escrita primeiro (é a tabela da esquerda) todos os registros de clientes serão recuperados. Para se recuperar todos os registros de compras deveria ser usado o RIGHT OUTER JOIN usando a tabela de COMPRAS como base para a junção. Como toda compra possui um cliente, o tipo INNER JOIN traria todas as compras também mas não mostraria os clientes sem compras. Para mostrar registros de ambas as tabelas que não possuam correspondência na outra tabela deveria ser usado o FULL JOIN. Para recuperar apenas os clientes com compras também o INNER JOIN deveria ter sido usado..