Teremos como retomo da consulta SQL:

Próximas questões
Com base no mesmo assunto
Q635364 Banco de Dados

9. Considere a tabela W abaixo, seus campos VALOR e DADO, e a consulta em linguagem SQL:


Teremos como retomo da consulta SQL:
Alternativas

Comentários

Veja os comentários dos nossos alunos

O left join seleciona todos registros da tabela a esquerda do left join,(nesse caso W), independente do que ta dentro do ON. A parte dentro do ON,  que é W.VALOR=Z.DADO,  faz uma busca. Tipo a primeira coluna temos 1 e na segunda coluna não temos 1, então o resultado da junção fica W.VALOR = 1 e Z.DADO = null.
Se seguir essa lógica para todos elementos, após o join teremos:

Tabela WjoinZ

W.VALORZ.DADO

1null

2null

55

44

 

 


Dessa forma o select max(W.VALOR) seleciona o 2 que é o maior numero sem correspondente na outra coluna.

 

Diego Jacometti em 2 setembro 2016 at 21:23 - ITnerante

Veja também a resolução da questão : https://youtu.be/WKeX_vK93D4

então pq a resposta é 5?

Questão que pode parecer estranha devido a tabela W fazer um LEFT JOIN consigo mesma e atribuir o alias de Z, mas vamos lá:

SELECT MAX(W.VALOR)

FROM W LEFT JOIN W AS Z

ON (W.VALOR = Z.DADO)

WHERE Z.DADO IS NULL;

LEFT JOIN retorna todas as linhas da tabela esquerda com linhas correspondentes da direita. Se não houver linha correspondente, NULL é retornado no valor da segunda tabela.

Cada linha de W será combinada com a tabela Z, onde W.VALOR está sendo comparado com Z.DADO, retornando apenas aqueles que Z.DADO for nulo e obtendo o maior valor dentre os registros.

Devemos identificar quais valores de W.VALOR não aparecem em Z.DADO

Os valores da coluna VALOR são: 1, 2, 5, 4;

Os valores da coluna DADO são: 3, 4, 6, 5.

1 => Não está em DADO

2 => Não está em DADO

5 => Está em DADO

4 => Está em DADO

Portanto, os valores 1 e 2 não possuem correspondência em DADO, e serão mantidos na consulta com Z.DADO IS NULL.

A consulta retorna o maior valor entre os que não possuem correspondência, ou seja, o MAX(1,2) = 2.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo