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

Hvordan vælger man indhold fra to forskellige tabeller i Mysql?

Du skal bruge enten JOIN eller UNION/UNION ALL.

Dette afhænger af, hvad du har brug for.

Lad os sige, at du vil have alle værdier fra tabel 1 kol a og tabel 2 kol b i separate rækker

Du kan bruge

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Alle distinkte værdier

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

Og lad os sige, at hvis du vil vise dem i samme række, skal de have en nøgle, der forbinder dem

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

Det ville også være godt at bemærke, at der er forskellige typer Sql-joins

Forskellige SQL JOINs

  • JOIN:Returner rækker, når der er mindst én match i begge tabeller
  • LEFT JOIN:Returner alle rækker fra den venstre tabel, selvom der ikke er nogen overensstemmelser i den højre tabel
  • HØJRE JOIN:Returner alle rækker fra den højre tabel, selvom der ikke er nogen overensstemmelser i den venstre tabel
  • FULD JOIN:Returner rækker, når der er match i en af ​​tabellerne


  1. Vælg X-linjer, der starter ved linje Y

  2. Hvorfor kører PHP hurtigere end MySQL

  3. Begræns antallet af poster i en model, der kan have en værdi pr. bruger

  4. CodeIgniter Vælg forespørgsel