Heim  >  Artikel  >  Datenbank  >  Ist MySQLs JOIN standardmäßig LEFT JOIN?

Ist MySQLs JOIN standardmäßig LEFT JOIN?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-12 12:56:01882Durchsuche

Does MySQL's JOIN Default to LEFT JOIN?

Den Unterschied zwischen MySQL JOIN und LEFT JOIN verstehen

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:

  • INNER JOIN: Gibt Zeilen zurück, in denen beide Jobs und Server haben übereinstimmende Werte für ServerID.
  • LEFT JOIN: Gibt alle Zeilen von Jobs zurück, einschließlich derjenigen, die möglicherweise keine entsprechenden Einträge in Servern haben.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn