O SQL RIGHT JOIN Inclui todas as linhas da tabela da direita e as que coincidem a partir da esquerda. Para que isso não corresponda a partir da direita, NULL é retornado nas colunas correspondentes.

Esta é a diferença chave entre um SQL RIGHT JOIN e um INNER JOIN. Quando uma união interna só retorna linhas que correspondem à condição de união, em uma união externa direita, é garantido que todas as linhas da tabela direita estão incluídas no resultado.

Cheque esta ilustração:

>

Cheque os resultados para Fred e note que não há produto correspondente, é NULL. Além disso, o não está incluído no resultado.

Outro nome para união direita é união externa direita.

A forma geral de união à direita é:

SELECT table1.column1, table2.column2, … FROM table1 RIGHT JOIN table2 ON table1.commonColumn = table2.commonColumn 

Notas:

  • Neste exemplo a tabela2 é a tabela da direita e a tabela1 a da esquerda.
  • Se não houver correspondência entre os valores das colunas comuns, a tabela1.column1 retorna NULL

SQL RIGHT JOIN Example

Nem todas as pessoas da base de dados AdventureWorks são empregados. Vamos listar todas as pessoas, e alguns dos seus dados de emprego, caso existam. Usaremos um RIGHT JOIN para fazer isso.

Cutem em mente que é um JOGO DIREITO, pois a tabela de pessoas, que tem cada linha que desejamos retornar, está do lado direito do operador do JOGO.

-Lista todas as Pessoas e quaisquer dados de emprego, se existirem. -Utilizar Outer Join para fazer isso… SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID;
--List all People and any employment data, if it exists. --Use Outer Join to do so... SELECT P.FirstName , P.LastName , E.HireDate , E.JobTitle FROM HumanResources.Employee AS E RIGHT JOIN Person.Person AS P ON P.BusinessEntityID = E.BusinessEntityID; 

-Lista os resultados e repare que existem NULL’s para algumas pessoas. Isto porque não há entradas correspondentes na tabela Empregado. O RIGHT JOIN está trabalhando como anunciado, devolve todos os jogos, e um NULL onde não existe nenhum.

Pontos Importantes:

Ao trabalhar com o RIGHT JOINS tenha em mente que a sua correspondência de uma tabela para outra pode corresponder a várias linhas. Ou seja, o seu resultado pode ter mais linhas no resultado que você tem em qualquer uma das tabelas.

Quando as colunas não coincidem, a consulta a linha direita, e NULL para as colunas da tabela esquerda.

Deixe uma resposta

O seu endereço de email não será publicado.