sql >> Databáze >  >> RDS >> Mysql

Jak vybrat obsah ze dvou různých tabulek v Mysql?

Budete muset použít buď JOIN nebo UNION/UNION ALL.

To bude záviset na tom, co požadujete.

Řekněme, že chcete všechny hodnoty z tabulky 1 col a a tabulka 2 sloupec b v samostatných řadách

Můžete použít

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Všechny odlišné hodnoty

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

A řekněme, že pokud je chcete zobrazit ve stejném řádku, měly by mít nějaký klíč, který je propojí

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

Bylo by také dobré poznamenat, že existují různé typy spojení SQL

Různá SQL JOIN

  • JOIN:Vraťte řádky, když je v obou tabulkách alespoň jedna shoda
  • LEVÉ PŘIPOJENÍ:Vraťte všechny řádky z levé tabulky, i když jsou v pravé tabulce neshody
  • SPRÁVNÉ PŘIPOJENÍ:Vraťte všechny řádky z pravé tabulky, i když jsou v levé tabulce stejné položky
  • PLNÉ PŘIPOJENÍ:Vraťte řádky, když se v jedné z tabulek objeví shoda


  1. Existuje nějaký dobrý způsob, jak ladit řetězec nebo by byla binární data zkrácena?

  2. Nastavte MySQL 5.6 pomocí Macports

  3. Jak mohu vymazat paměť při spuštění dlouhého skriptu PHP? zkusil unset()

  4. AKTUALIZUJTE všechny hodnoty sloupců ekvivalentní hodnotám sloupců jiných tabulek na základě jejich id