sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo seleccionar contenido de dos tablas diferentes en Mysql?

Necesitará usar JOIN o UNION/UNION ALL.

Esto dependerá de lo que necesites.

Digamos que desea todos los valores de table 1 col a y tabla 2 columna b en filas separadas

Puedes usar

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Todos los valores distintos

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

Y digamos que si quieres mostrarlos en la misma fila, deben tener alguna clave que los vincule

SELECT ColA, ColB
FROM TABLE1 t1 INNER JOIN
   TABLE2 t2 ON t1.ID = t2.ID

También sería bueno tener en cuenta que existen diferentes tipos de Sql Joins

Diferentes SQL JOIN

  • JOIN:devuelve filas cuando hay al menos una coincidencia en ambas tablas
  • LEFT JOIN:devuelve todas las filas de la tabla de la izquierda, incluso si no hay coincidencias en la tabla de la derecha
  • UNIÓN DERECHA:Devuelve todas las filas de la tabla derecha, incluso si no hay coincidencias en la tabla izquierda
  • FULL JOIN:devuelve filas cuando hay una coincidencia en una de las tablas