Beim Erstellen von Datenbankabfragen ist es wichtig, den grundlegenden Unterschied zwischen JOIN und LEFT JOIN zu verstehen.
In der bereitgestellten Abfrage ist beim Ersetzen von INNER JOINs durch LEFT JOINs ein Problem aufgetreten. Dies wirft die Frage auf: Wird davon ausgegangen, dass ein JOIN ohne einen angegebenen Typ standardmäßig LEFT JOIN ist?
Nein, das ist nicht der Fall.
Standardmäßig MySQL führt INNER JOINs durch, die nur die Zeilen einbeziehen, die in beiden Tabellen übereinstimmen. Im Gegensatz dazu behalten LEFT JOINs alle Zeilen aus der linken Tabelle (in Ihrem Fall DM_Server.Jobs) bei, auch wenn sie keine entsprechenden Übereinstimmungen in den rechten Tabellen haben.
Zur Veranschaulichung Um diesen Unterschied zu berücksichtigen, betrachten wir Folgendes:
Für eine umfassendere visuelle Erklärung:
INNER JOIN:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description |
LEFT JOIN:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | | 3 | NULL | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description | | 3 | NULL | NULL |
Wenn Sie diese Unterscheidung verstehen, können Sie sicherstellen, dass Ihre Abfragen die gewünschten Zeilen basierend auf Ihren Anforderungen abrufen vorgesehener Join-Typ.
Das obige ist der detaillierte Inhalt vonIst MySQLs JOIN standardmäßig LEFT JOIN?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!