Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Palabra clave MySQL ON

La palabra clave `ON` en MySQL se utiliza para especificar la condición para unir tablas en una cláusula `JOIN`. Define cómo deben relacionarse dos tablas indicando los campos comunes entre ellas.

Utilización

La palabra clave `ON` se utiliza principalmente en las operaciones `JOIN` para establecer la condición para fusionar tablas. Sigue directamente a la palabra clave `JOIN` para establecer el enlace entre las tablas.

SELECT columns
FROM table1
JOIN table2
ON table1.column_name = table2.column_name;

En esta sintaxis, `ON nombre_columna.tabla1 = nombre_columna.tabla2` especifica la condición por la que se unen las tablas. La palabra clave `ON` se puede utilizar con todos los tipos de uniones, como `INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, etc.

Ejemplos

1. Condición básica de la unión

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

En este ejemplo, la palabra clave `ON` especifica que las tablas `employees` y `departments` deben unirse cuando sus campos `department_id` coincidan.

2. Adhesión con condiciones adicionales

SELECT orders.order_id, customers.customer_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id AND customers.status = 'active';

Esta consulta utiliza la palabra clave `ON` con una condición adicional para unir sólo clientes activos con pedidos.

3. Unirse uno mismo

SELECT a.employee_id, a.first_name, b.first_name AS manager_name
FROM employees a
JOIN employees b ON a.manager_id = b.employee_id;

Este ejemplo muestra una autounión, utilizando la palabra clave "ON" para relacionar a los empleados con sus jefes dentro de la misma tabla.

4. Ejemplo de LEFT JOIN

SELECT employees.first_name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;

Este ejemplo muestra cómo se utiliza la palabra clave `ON` con un `LEFT JOIN` para incluir a todos los empleados, incluso a los que no están asignados a ningún departamento.

Consejos y buenas prácticas

  • Asegúrate de la compatibilidad de las columnas. Utiliza la palabra clave `ON` para unir tablas con columnas que tengan tipos de datos compatibles para evitar errores.
  • Utiliza alias claros. Al unir varias tablas, especialmente con autouniones, utiliza alias de tablas para mayor claridad y brevedad.
  • Combínalo con "DONDE". Tras definir las relaciones con `ON`, refina aún más los resultados utilizando una cláusula `WHERE` para filtrar los datos.
  • Comprueba la lógica de unión. Comprueba que tus condiciones `ON` representan fielmente la lógica empresarial y las relaciones previstas en el esquema de la base de datos.
  • Consideraciones sobre el rendimiento. Indexa las columnas utilizadas en la condición `ON` para mejorar el rendimiento de la consulta.
  • Aclara las condiciones complejas. Utiliza paréntesis para aclarar las condiciones de unión complejas, especialmente cuando se combinan varias condiciones.

Perfeccionamiento de SQL para principiantes

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