SóProvas


ID
1530706
Banca
FCC
Órgão
TRE-RR
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Considere a instrução SQL a seguir:

SELECT Clientes.NomeCliente, Pedidos.PedidoID FROM Clientes

...I....

ON Clientes.ClienteID=Pedidos.ClienteID
ORDER BY Clientes.NomeCliente;

Esta instrução seleciona todas as linhas de ambas as tabelas, desde que haja uma correspondência entre as colunas ClienteID. Se houver linhas na tabela Clientes que não tem correspondentes na tabela Pedidos, esses clientes não serão listados.

Para que a instrução dê o resultado descrito, a lacuna I deve ser preenchida com

Alternativas
Comentários
  • A letra a) é a única que tem a tabela Pedidos na instrução sql.
  • No texto da questão fala que "Se houver linhas na tabela Clientes que não tem correspondentes na tabela Pedidos, esses clientes não serão listados.". Com o RIGHT OUTER JOIN, todas as tuplas da tabela Clientes seriam retornadas junto com as respectivas tuplas da tabela Pedidos associadas pelo campo ClientID.

    Dá uma olhada neste link aqui: http://www.devmedia.com.br/inner-cross-left-rigth-e-full-joins/21016

  • FCC entregou a questão...

  • Questão: Se houver linhas na tabela Clientes que não tem correspondentes na tabela Pedidos, esses clientes não serão listados.

    Inner Join, que geralmente é a maneira mais utilizada de se retornar dados espalhados entre tabelas, funciona seguindo o princípio de que para os registros retornados de uma tabela, deve haver algum tipo de relação com os registros da outra tabela.

  • Mesmo que todas tivessem "Pedidos" na frente.

    INNER JOIN é um filtro do produto cartesiano
    LEFT JOIN é um filtro do produto cartesiano porém ele mantém todas as linhas da "tabela à esquerda" mesmo não conseguindo correspondentes.
    RIGHT JOIN mesma coisa do LEFT porém da tabela da direita.
    FULL OUTER JOIN colocaria todas as linhas das 2 tabelas, formando um "TABELÃO" onde não houvesse correspondente seria preenchido com NULL.


  • INNER JOIN é um filtro do produto cartesiano


    LEFT JOIN é um filtro do produto cartesiano porém ele mantém todas as linhas da "tabela à esquerda" mesmo não conseguindo correspondentes.


    RIGHT JOIN mesma coisa do LEFT porém da tabela da direita.


    FULL OUTER JOIN colocaria todas as linhas das 2 tabelas, formando um "TABELÃO" onde não houvesse correspondente seria preenchido com NULL.