Stellen Sie sich vor, Sie haben zwei Tabellen. Eine, die die Informationen über die Programmierer auf Ihrer Website speichert, und die andere Tabelle, die ihre Online-Einkäufe verfolgt.
PROGRAMMERS Tabelle
+--------------------------------------------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Desire | 32 | 123 fake s| 3000.00 |
| 2 | Jamin | 25 | 234 fake s| 2500.00 |
| 3 | Jon | 23 | 567 fake s| 2000.00 |
| 4 | Bob | 30 | 789 fake s| 1500.00 |
| 5 | OtherGuy | 31 | 890 fake s| 1000.00 |
| 6 | DudeMan | 32 | 901 fake s| 500.00 |
+--------------------------------------------+
KÄUFE Tabelle
+---------------------------------------------+
| ORDER_ID | PROG_ID | DATE | PRICE |
+-------------+---------+---------------------|
| 1 | 1 | 1-1-2017 | 100 |
| 2 | 2 | 1-2-2017 | 200 |
| 3 | 6 | 1-3-2017 | 300 |
+---------------------------------------------|
Sie entscheiden, was Sie brauchen eine neue Tabelle zu machen, diese Informationen zu einer Tabelle zu konsolidieren, die bestimmte Spalten Sie enthält.
Zum Beispiel, Sie würden es für die Zwecke des Versands nett sein, eine Tabelle zu haben, die die ID-, die NAME-, die PREIS- und die DATE-Spalten hat.
Gegenwärtig zeigen die Tabellen, die wir haben, nicht alles in einer einzelnen Tabelle an.
Wenn wir diese Tabellen VERBINDEN würden, würden wir am Ende die gewünschten Spalten mit NULL-Werten füllen, wo es keine Informationen zum Verbinden gibt.
SELECT ID, NAME, PRICE, DATE
FROM PROGRAMMERS
LEFT JOIN PURCHASES
ON PROGRAMMERS.ID = PURCHASES.PROG_ID;
Beachten Sie, dass ich die Spalten bin ich die Auswahl von der Start Tabelle wollen, dann die rechte Tabelle Beitritt obwohl es möglicherweise fehlenden Informationen werden.
TABLE ENTSTEHEN
+-------------------------------------+
| ID | NAME | PRICE | DATE |
+----+----------+-----------------+---+
| 1 | Desire | 100 | 1-1-2017 |
| 2 | Jamin | 200 | 1-2-2017 |
| 3 | Jon | NULL | NULL |
| 4 | Bob | NULL | NULL |
| 5 | OtherGuy | NULL | NULL |
| 6 | DudeMan | 300 | 1-3-2017 |
+-------------------------------------+
Eine visuelle Darstellung der Differenz zwischen SQL JOINs überprüfen https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins.
Es macht das gleiche, dass alle linken JOINs tun – Strawberry