➡️ RIGHT JOIN no SQL

Introdução

O comando RIGHT JOIN é utilizado para retornar todos os registros da tabela que está à direita da consulta, mesmo quando não existe correspondência na tabela da esquerda.

Ele funciona de forma semelhante ao LEFT JOIN, porém mantendo todos os registros da segunda tabela.

📌 RIGHT JOIN garante que todos os registros da tabela direita sejam exibidos.

Como funciona?

No RIGHT JOIN, a tabela escrita após o comando JOIN é considerada a tabela principal.


FROM clientes

RIGHT JOIN pedidos
          

Todos os pedidos serão exibidos, mesmo quando não existir cliente relacionado.

Sintaxe Básica


SELECT

tabela1.coluna,

tabela2.coluna


FROM tabela1


RIGHT JOIN tabela2

ON tabela1.id = tabela2.id;
          

Exemplo de Tabelas


CLIENTES

+----+----------+

| ID | Nome     |

+----+----------+

| 1  | Ana      |

| 2  | Carlos   |

| 3  | Pedro    |

+----+----------+



PEDIDOS

+----+------------+-------+

| ID | Cliente_ID | Valor |

+----+------------+-------+

| 1  | 1          | 500   |

| 2  | 2          | 700   |

| 3  | 5          | 300   |

+----+------------+-------+
          

Utilizando RIGHT JOIN


SELECT

clientes.nome,

pedidos.valor


FROM clientes


RIGHT JOIN pedidos

ON clientes.id = pedidos.cliente_id;
          

Resultado:


Ana      | 500

Carlos   | 700

NULL     | 300
          

O pedido 3 aparece mesmo sem possuir cliente cadastrado.

RIGHT JOIN com Alias


SELECT

c.nome,

p.valor


FROM clientes c


RIGHT JOIN pedidos p

ON c.id = p.cliente_id;
          

O uso de aliases facilita a leitura das consultas.

Encontrando Registros sem Correspondência

Podemos utilizar RIGHT JOIN para encontrar registros existentes na tabela direita que não possuem relacionamento.


SELECT

p.id,

p.valor


FROM clientes c


RIGHT JOIN pedidos p

ON c.id = p.cliente_id


WHERE c.id IS NULL;
          

Retorna pedidos sem cliente associado.

RIGHT JOIN x LEFT JOIN

RIGHT JOIN LEFT JOIN
Mantém todos da direita Mantém todos da esquerda
Pode retornar NULL na esquerda Pode retornar NULL na direita
Pouco utilizado Mais utilizado no dia a dia

LEFT JOIN substituindo RIGHT JOIN

Na prática, muitos desenvolvedores preferem utilizar LEFT JOIN invertendo a ordem das tabelas.


-- RIGHT JOIN

clientes

RIGHT JOIN pedidos



-- Mesmo resultado usando LEFT JOIN

pedidos

LEFT JOIN clientes
          

Aplicações no Mundo Real

Sistema Utilização
E-commerce Pedidos sem clientes cadastrados
Financeiro Transações sem cadastro completo
Escola Matrículas sem aluno relacionado
Hospital Consultas sem paciente vinculado

Erros Comuns

Erro Problema
Confundir com LEFT JOIN Resultado inesperado
Trocar ordem das tabelas Muda os registros mantidos
Usar sem relacionamento Dados incorretos
Ignorar índices Baixo desempenho

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você sabe utilizar RIGHT JOIN para consultar dados mantendo todos os registros da tabela direita.