Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como selecionar o conteúdo de duas tabelas diferentes no Mysql?


Você precisaria usar um JOIN ou UNION/UNION ALL.

Isso vai depender do que você precisa.

Digamos que você queira todos os valores da tabela 1 col a e tabela 2 col b em filas separadas

Você pode usar
SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Todos os valores distintos
SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

E digamos que você deseja exibi-los na mesma linha, eles devem ter alguma chave que os vincule
SELECT ColA, ColB
FROM TABLE1 t1 INNER JOIN
   TABLE2 t2 ON t1.ID = t2.ID

Também seria bom observar que existem diferentes tipos de Sql Joins

Diferentes JOINs SQL
  • JOIN:retorna linhas quando há pelo menos uma correspondência em ambas as tabelas
  • LEFT JOIN:retorna todas as linhas da tabela à esquerda, mesmo que não haja correspondências na tabela à direita
  • RIGHT JOIN:retorna todas as linhas da tabela da direita, mesmo que não haja correspondências na tabela da esquerda
  • FULL JOIN:retorna linhas quando há uma correspondência em uma das tabelas