Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Cláusula MySQL RIGHT JOIN

A cláusula `RIGHT JOIN` no MySQL é usada para recuperar todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda. Se nenhuma correspondência for encontrada, os valores NULL serão retornados para as colunas da tabela à esquerda.

Uso

A cláusula `RIGHT JOIN` é normalmente usada quando você deseja garantir que todos os registros da tabela da direita sejam incluídos no conjunto de resultados, independentemente de terem correspondências na tabela da esquerda.


SELECT columns
FROM left_table
RIGHT JOIN right_table ON left_table.common_column = right_table.common_column;

Nessa sintaxe, `RIGHT JOIN` garante que todas as linhas de `right_table` sejam retornadas, com linhas correspondentes de `left_table` quando disponíveis.

Exemplos

1. União de direitos básicos


SELECT employees.employee_id, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id;

Esse exemplo recupera todos os nomes de departamentos, inclusive aqueles sem nenhum funcionário, garantindo que nenhum departamento seja omitido.

2. União à direita com a cláusula WHERE


SELECT orders.order_id, customers.customer_name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id
WHERE customers.country = 'USA';

Aqui, a consulta retorna todos os clientes dos EUA, inclusive aqueles que não fizeram nenhum pedido, usando uma cláusula `WHERE` com o `RIGHT JOIN`.

3. Junção direita com agregação


SELECT departments.department_name, COUNT(employees.employee_id) AS employee_count
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id
GROUP BY departments.department_name;

Este exemplo conta o número de funcionários por departamento, garantindo que cada departamento seja listado mesmo que tenha zero funcionários, usando `RIGHT JOIN` com `GROUP BY`.

Dicas e práticas recomendadas

  • Escolha o tipo certo de união. Use `RIGHT JOIN` quando for essencial incluir todas as linhas da tabela da direita, mesmo que não haja correspondências na tabela da esquerda. Considere os requisitos comerciais e os relacionamentos de dados ao decidir entre `LEFT JOIN` e `RIGHT JOIN`, pois essa escolha pode afetar a lógica de recuperação de dados.
  • Considere a legibilidade da consulta. Evite usar o `RIGHT JOIN` quando um `LEFT JOIN` puder alcançar o mesmo resultado invertendo a ordem das tabelas para melhorar a legibilidade, a menos que restrições específicas exijam o uso do `RIGHT JOIN`.
  • Otimize o desempenho. Certifique-se de que as colunas de junção sejam indexadas para melhorar o desempenho das consultas `RIGHT JOIN`. Esteja atento às possíveis implicações de desempenho ao usar o `RIGHT JOIN` com grandes conjuntos de dados e considere técnicas de otimização de consultas para atenuar quaisquer problemas.
  • Manipular valores NULL. Esteja preparado para lidar com valores `NULL` em seu conjunto de resultados, pois as linhas não correspondentes da tabela à esquerda resultarão em NULLs.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça