ENES

JOIN en SQL

La instrucción de SQL que combina filas de dos tablas que comparten un valor.

Una tabla de clientes y una de pedidos unidas por el mismo ID de cliente, combinadas en una tabla resultado con nombres al lado de los importes

Un JOIN es la forma en que SQL junta datos que viven en tablas separadas. Una tienda guarda los clientes en una tabla y los pedidos en otra, unidos por un ID de cliente. Para ver cada pedido al lado del nombre del cliente escribís SELECT … FROM pedidos JOIN clientes ON pedidos.cliente_id = clientes.id, y la base empareja cada pedido con su cliente.

Hay varios tipos, y la diferencia está en qué pasa con las filas que no encuentran pareja. Un INNER JOIN se queda solo con los pares que coinciden: clientes que tienen pedidos. Un LEFT JOIN conserva todas las filas de la primera tabla y deja huecos donde la segunda no tiene nada, que es como encontrás a los clientes que nunca compraron. RIGHT y FULL OUTER JOIN son el espejo y la versión de ambos lados.

Los joins son la razón por la que las bases relacionales separan los datos en tablas: guardás cada dato una sola vez y combinás cuando lo necesitás. También son una fuente clásica de errores. Si unís por la columna equivocada, o por una que se repite, las filas se multiplican sin avisar y un total de ventas te da el doble. Contar filas antes y después de un join es un buen hábito.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Datos