Mysql
 sql >> Database >  >> RDS >> Mysql

Come selezionare il contenuto da due diverse tabelle in MySQL?

Dovresti utilizzare un JOIN o UNION/UNION ALL.

Questo dipenderà da cosa richiedi.

Diciamo che vuoi tutti i valori da tabella 1 col a e tabella 2 col b in righe separate

Puoi usare

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Tutti i valori distinti

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

E diciamo che se vuoi visualizzarli nella stessa riga, dovrebbero avere una chiave che li colleghi

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

Sarebbe anche utile notare che esistono diversi tipi di Sql Join

Diverse JOIN SQL

  • UNISCI:restituisce le righe quando c'è almeno una corrispondenza in entrambe le tabelle
  • LEFT JOIN:restituisce tutte le righe dalla tabella di sinistra, anche se non ci sono corrispondenze nella tabella di destra
  • RIGHT JOIN:restituisce tutte le righe dalla tabella di destra, anche se non ci sono corrispondenze nella tabella di sinistra
  • FULL JOIN:restituisce le righe quando c'è una corrispondenza in una delle tabelle