Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner le contenu de deux tables différentes dans Mysql ?

Vous auriez besoin d'utiliser un JOIN ou un UNION/UNION ALL.

Cela dépendra de ce dont vous avez besoin.

Disons que vous voulez toutes les valeurs de table 1 col a et table 2 col b dans des rangées séparées

Vous pouvez utiliser

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Toutes les valeurs distinctes

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

Et disons que vous voulez les afficher dans la même ligne, ils doivent avoir une clé qui les relie

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

Il serait également bon de noter qu'il existe différents types de Sql Joins

Différents JOIN SQL

  • JOIN :Renvoie les lignes lorsqu'il y a au moins une correspondance dans les deux tables
  • LEFT JOIN :renvoie toutes les lignes de la table de gauche, même s'il n'y a aucune correspondance dans la table de droite
  • RIGHT JOIN :Renvoie toutes les lignes de la table de droite, même s'il n'y a aucune correspondance dans la table de gauche
  • FULL JOIN :renvoie des lignes lorsqu'il y a une correspondance dans l'une des tables