Cómo unir 3 tablas en MySQL
Cuando se gestiona con su base de datos, en algún momento va a necesitar reunir datos de algunas tablas diferentes. Es decir: Cómo unir 3 tablas en MySQL.
En un artículo anterior he creado una entrada donde escribo de cómo usar la cláusula INNER JOIN sobre combinaciones de SQL
Declaración de combinación SQL INNER JOIN
Join es una declaración que le permite juntar dos tablas, haciendo coincidir las filas que están relacionadas entre sí y manteniendo solo las filas que pueden coincidir, sin mantener las filas no emparejadas.
Instrucción genérica INNER JOIN entre dos tablas
SELECT * FROM table1
INNER JOIN table2
ON table1.id = table2.id;
Cómo unir 3 tablas en SQL y MySQL
La declaración SELECT ... FROM
indica cuál es la primera tabla, luego el nombre de la segunda tabla se escribe justo después de las palabras clave INNER JOIN
.
La forma en que se deben unir las dos tablas está escrita en la instrucción ON. En este caso, las dos tablas se unen mediante la relación table1.id = table2.id.
Es posible utilizar varias sentencias de unión juntas para unir más de una tabla al mismo tiempo.
Instrucción genérica INNER JOIN entre tres tablas
SELECT *
FROM table1
INNER JOIN table2
ON table1.id = table2.id
INNER JOIN table3
ON table2.id = table3.id;
Unir 3 tablas MySQL usando PHP
Si estas trabajando con PHP la consulta es casi lo mismo, solo que debemos de agregar funciones de conexión de PHP a MySQL, veamos un ejemplo de uso.
$query_buscar_posts = mysqli_query($conn, "
SELECT posts.Id,
posts.Titulo,
posts.Contenido,
personas.Fotos,
personas.nombre,
personas.apellido,
comentarios.contenido,
comentarios.fecha
FROM posts
INNER JOIN comentarios
ON comentarios.id_post = post.Id AND posts.User_Id = comentarios.id_usuario
INNER JOIN personas
ON posts.User_Id = personas.Id
WHERE posts.User_Id = $my_id") or die('Error: ' . mysqli_error($conn));
Conclusiones y recomendaciones
Genéricamente INNER JOIN nos ayuda a unir tablas para obtener un resultado deseado. Además, podemos agregar más tablas a la consulta SQL.
También podemos incorporar 2 o más tablas a la consulta SQL y debemos de unirlos a través de una ID
Por último, si deseamos trabajar con el lenguaje PHP debemos de crear una conexión con MySQL y lo más recomendable es usar conexión PDO.