Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wähle ich Inhalte aus zwei verschiedenen Tabellen in Mysql aus?

Sie müssten entweder JOIN oder UNION/UNION ALL verwenden.

Dies hängt davon ab, was Sie benötigen.

Angenommen, Sie möchten alle Werte aus Tabelle 1 Spalte a und Tabelle 2 Spalte b in separaten Zeilen

Sie können

verwenden
SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Alle eindeutigen Werte

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

Und nehmen wir an, wenn Sie sie in derselben Zeile anzeigen möchten, sollten sie einen Schlüssel haben, der sie verbindet

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

Es wäre auch gut zu beachten, dass es verschiedene Arten von SQL-Joins gibt

Verschiedene SQL-JOINs

  • JOIN:Gibt Zeilen zurück, wenn es mindestens eine Übereinstimmung in beiden Tabellen gibt
  • LEFT JOIN:Gibt alle Zeilen aus der linken Tabelle zurück, auch wenn es keine Übereinstimmungen in der rechten Tabelle gibt
  • RIGHT JOIN:Gibt alle Zeilen aus der rechten Tabelle zurück, auch wenn es keine Übereinstimmungen in der linken Tabelle gibt
  • FULL JOIN:Gibt Zeilen zurück, wenn es eine Übereinstimmung in einer der Tabellen gibt