sql >> Database >  >> RDS >> Mysql

Hoe selecteer ik inhoud uit twee verschillende tabellen in Mysql?

Je zou een JOIN of UNION/UNION ALL moeten gebruiken.

Dit hangt af van wat u nodig heeft.

Stel dat u alle waarden uit tabel 1 col a . wilt en tabel 2 col b in aparte rijen

U kunt

SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2

Alle verschillende waarden

SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2

En laten we zeggen dat als je ze in dezelfde rij wilt weergeven, ze een sleutel moeten hebben die ze met elkaar verbindt

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

Het is ook goed om te weten dat er verschillende soorten Sql Joins zijn

Verschillende SQL JOIN's

  • DOEN:rijen retourneren wanneer er ten minste één overeenkomst is in beide tabellen
  • LEFT JOIN:retourneer alle rijen uit de linkertabel, zelfs als er geen overeenkomende items in de rechtertabel zijn
  • RIGHT JOIN:retourneert alle rijen uit de rechtertabel, zelfs als er geen overeenkomsten zijn in de linkertabel
  • FULL JOIN:rijen retourneren wanneer er een overeenkomst is in een van de tabellen


  1. Geavanceerde SQL:variaties en verschillende gebruiksscenario's van T-SQL Insert Statement

  2. MySQL opgeslagen procedure met parameters

  3. Hoe het laatste veld dat door de gebruiker is geselecteerd uit de formulierbouwer weer te geven met de veldnaam en het veldtype?

  4. psycopg2 en oneindig python-script