Junção Extrínseca (Outer Join)

     Cláusula aplicada à instrução SELECT para mostrar dados relacionados e não relacionados de tabelas através de igualdade, considerando os registros cujos campos possuírem valores e eles forem iguais e também se não possuírem registros sem valores iguais nos campos.

Considere a tabela UF, abaixo:

UF_SIGLA
varchar(2)

UF_NOME
varchar(20)

AL

ALAGOAS

CE

CEARA

SP

SAO PAULO


Considere a tabela VENDEDOR, abaixo:

VEN_CODIGO
integer

VEN_CPF
varchar(11)

VEN_NOME
varchar(20)

UF_SIGLA
varchar(2)

1

01234567890

BRUNO

SP

2

12345678901

MAURO

CE

3

23456789012

MARIA

null

4

34567890123

DIONE

PR


         A instrução abaixo:
SELECT *
  FROM VENDEDOR V RIGHT OUTER JOIN UF U ON V.UF_SIGLA = U.UF_SIGLA

         Irá mostrar:         

VEN_CODIGO

VEN_CPF

VEN_NOME

UF_SIGLA

UF_SIGLA1

UF_NOME

null

null

null

null

AL

ALAGOAS

2

12345678901

MAURO

CE

CE

CEARA

1

01234567890

BRUNO

SP

SP

SAO PAULO

         Pois irá considerar todos os registros da tabela da direita do relacionamento mesmo que não haja um registro correspondente na tabela da esquerda.
        
          Já a instrução abaixo:
SELECT *
  FROM VENDEDOR V LEFT OUTER JOIN UF U ON V.UF_SIGLA = U.UF_SIGLA

         Irá mostrar:

VEN_CODIGO

VEN_CPF

VEN_NOME

UF_SIGLA

UF_SIGLA1

UF_NOME

1

01234567890

BRUNO

SP

SP

SAO PAULO

2

12345678901

MAURO

CE

CE

CEARA

3

23456789012

MARIA

null

null

null

4

34567890123

DIONE

PR

null

null

        Pois irá considerar todos os registros da tabela da esquerda do relacionamento mesmo que não haja um registro correspondente na tabela da direita.

         Agora note a instrução abaixo:
SELECT *
  FROM VENDEDOR V FULL OUTER JOIN UF U ON V.UF_SIGLA = U.UF_SIGLA

         Irá mostrar:

VEN_CODIGO

VEN_CPF

VEN_NOME

UF_SIGLA

UF_SIGLA1

UF_NOME

null

null

null

null

AL

ALAGOAS

2

12345678901

MAURO

CE

CE

CEARA

1

01234567890

BRUNO

SP

SP

SAO PAULO

3

23456789012

MARIA

null

null

null

4

34567890123

DIONE

PR

null

null

         Pois irá considerar todos os registros da tabela da direita do relacionamento mesmo que não haja um registro correspondente na tabela da esquerda e vice-versa.


Hosted by www.Geocities.ws

1