sql >> Databasteknik >  >> RDS >> Mysql

Hur väljer man innehåll från två olika tabeller i Mysql?

Du skulle behöva använda antingen JOIN eller UNION/UNION ALL.

Detta beror på vad du behöver.

Låt säga att du vill ha alla värden från tabell 1 kol a och tabell 2 kol b i separata rader

Du kan använda

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Alla distinkta värden

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

Och låt oss säga att om du vill visa dem på samma rad, bör de ha någon nyckel som länkar dem

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

Det skulle också vara bra att notera att det finns olika typer av Sql-anslutningar

Olika SQL JOINs

  • GÅ MED:Returnera rader när det finns minst en matchning i båda tabellerna
  • LEFT JOIN:Returnera alla rader från den vänstra tabellen, även om det inte finns några matchningar i den högra tabellen
  • RIGHT JOIN:Returnera alla rader från den högra tabellen, även om det inte finns några matchningar i den vänstra tabellen
  • FULL JOIN:Returnera rader när det finns en matchning i en av tabellerna


  1. Hur designar man ett databasschema för att lagra text på flera språk?

  2. MySQL replikeringsfel 2003

  3. Var kan jag få en PHP / MYSQL chattrum applikation

  4. SQL Auto-ökning efter DateTime