RIGHT OUTER JOIN

RIGHT OUTER JOIN ?? uma Opera????o JOIN que permite especificar a cl??usula de jun????o. Preserva as linhas sem correspond??ncia da segunda tabela (direita), juntando-as com uma linha nula na forma da primeira tabela (esquerda). (A LEFT OUTER JOIN B) ?? equivalente a (B RIGHT OUTER JOIN A), com as colunas em uma ordem diferente.

Sintaxe

Express??oTabela RIGHT [ OUTER ] JOIN Express??oTabela
{
    ON Express??oBooleana
    }

O escopo das express??es na cl??usula ON inclui as tabelas correntes, e as tabelas nos blocos de consulta externos ao SELECT corrente. A cl??usula ON pode fazer refer??ncia a tabelas que n??o est??o sendo juntadas, e n??o ?? obrigada a fazer refer??ncia a nenhuma das tabelas sendo juntadas (embora tipicamente o fa??a).

-- obter todos os pa??ses e cidades correspondentes,
-- incluindo os pa??ses sem nenhuma cidade
SELECT NOME_CIDADE, CIDADES.PA??S
FROM CIDADES RIGHT OUTER JOIN PA??SES
     ON CIDADES.COD_ISO_PA??S = PA??SES.COD_ISO_PA??S;

-- obter todos pa??ses da ??frica e as cidades correspondentes,
-- incluindo os pa??ses sem cidades
SELECT NOME_CIDADE, CIDADES.PA??S
FROM CIDADES RIGHT OUTER JOIN PA??SES
     ON CIDADES.COD_ISO_PA??S = PA??SES.COD_ISO_PA??S;
WHERE PA??SES.REGI??O = '??frica';

-- uso da sintaxe sin??nimo, RIGHT JOIN, para obter exatamente
-- os mesmos resultados do exemplo acima
SELECT NOME_CIDADE, CIDADES.PA??S
FROM CIDADES RIGHT JOIN PA??SES
     ON CIDADES.COD_ISO_PA??S = PA??SES.COD_ISO_PA??S
WHERE PA??SES.REGI??O = '??frica';

-- a Express??oTabela pode ser uma Opera????oJun????o. Portanto,
-- podem haver v??rias opera????es de jun????o na cl??usula FROM
-- Listar todos os n??meros e ??ltimo nome dos empregados,
-- juntamente com os n??meros e ??ltimo nome de seus gerentes
SELECT E.NUM_EMP, E.??LTIMO_NOME, M.NUM_EMP, M.??LTIMO_NOME
FROM EMPREGADOS E RIGHT OUTER JOIN
     DEPARTAMENTOS RIGHT OUTER JOIN EMPREGADOS M
     ON NUM_GER = M.NUM_EMP
     ON E.DEP_TRAB = NUM_DEP;
Conceitos relacionados
Intera????o com o sistema de depend??ncias
Instru????es CREATE
Instru????es DROP
Instru????es RENAME
Instru????es SET
Refer??ncias relacionadas
Instru????o ALTER TABLE
CALL (PROCEDIMENTO)
Cl??usula CONSTRAINT
Instru????o DECLARE GLOBAL TEMPORARY TABLE
Instru????o DELETE
Cl??usula FOR UPDATE
Cl??usula FROM
Cl??usula GROUP BY
Cl??usula HAVING
INNER JOIN
Instru????o INSERT
Opera????o JOIN
LEFT OUTER JOIN
Instru????o LOCK TABLE
Cl??usula ORDER BY
Consulta
SubconsultaEscalar
Express??oSele????o
Instru????o SELECT
Express??oTabela
SubconsultaTabela
Instru????o UPDATE
VALUES Express??o
Cl??usula WHERE
Cl??usula WHERE CURRENT OF