Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

MySQL Cláusula RIGHT JOIN

La cláusula `RIGHT JOIN` de MySQL se utiliza para recuperar todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda. Si no se encuentra ninguna coincidencia, se devuelven valores NULL para las columnas de la tabla izquierda.

Utilización

La cláusula `RIGHT JOIN` se utiliza normalmente cuando quieres asegurarte de que todos los registros de la tabla derecha se incluyen en el conjunto de resultados, independientemente de si tienen coincidencias correspondientes en la tabla izquierda.


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

En esta sintaxis, `RIGHT JOIN` garantiza que se devuelvan todas las filas de `table_derecha`, con filas coincidentes de `table_izquierda` cuando estén disponibles.

Ejemplos

1. Unión derecha básica


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

Este ejemplo recupera todos los nombres de departamentos, incluidos los que no tienen empleados, asegurándose de que no se omite ningún departamento.

2. Unión derecha con 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';

Aquí, la consulta devuelve todos los clientes de EE.UU., incluidos los que no han realizado ningún pedido, utilizando una cláusula `WHERE` con el `RIGHT JOIN`.

3. Unión derecha con agregación


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 ejemplo cuenta el número de empleados por departamento, asegurándose de que cada departamento aparece en la lista aunque tenga cero empleados, utilizando `RIGHT JOIN` con `GROUP BY`.

Consejos y buenas prácticas

  • Elige el tipo de unión adecuado. Utiliza `RIGHT JOIN` cuando sea imprescindible incluir todas las filas de la tabla derecha, aunque no haya coincidencias correspondientes en la tabla izquierda. Ten en cuenta los requisitos de la empresa y las relaciones entre los datos a la hora de decidir entre `LEFT JOIN` y `RIGHT JOIN`, ya que esta elección puede afectar a la lógica de recuperación de datos.
  • Ten en cuenta la legibilidad de la consulta. Evita utilizar `RIGHT JOIN` cuando un `LEFT JOIN` pueda conseguir el mismo resultado invirtiendo el orden de las tablas para mejorar la legibilidad, a menos que restricciones específicas obliguen a utilizar `RIGHT JOIN`.
  • Optimiza el rendimiento. Asegúrate de que las columnas de unión están indexadas para mejorar el rendimiento de tus consultas `RIGHT JOIN`. Ten en cuenta las posibles implicaciones para el rendimiento cuando utilices `RIGHT JOIN` con grandes conjuntos de datos, y considera las técnicas de optimización de consultas para mitigar cualquier problema.
  • Maneja los valores NULL. Prepárate para manejar valores `NULL` en tu conjunto de resultados, ya que las filas no coincidentes de la tabla izquierda darán lugar a NULLs.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis