Heim > Datenbank > MySQL-Tutorial > Können MySQL-JOIN-Abfragen ohne eine ON-Klausel funktionieren?

Können MySQL-JOIN-Abfragen ohne eine ON-Klausel funktionieren?

Linda Hamilton
Freigeben: 2025-01-02 15:05:38
Original
969 Leute haben es durchsucht

Can MySQL JOIN Queries Work Without an ON Clause?

MySQL JOIN-Abfragen ohne ON-Bedingungen

Frage: Können MySQL JOIN-Abfragen ohne eine ON-Anweisung geschrieben werden, und Wie unterscheiden sie sich von LINKS und RECHTS? JOINs?

Antwort:

Ja, MySQL erlaubt das Schreiben von JOIN-Abfragen ohne eine ON-Bedingung. Dieses Verhalten weicht von den ANSI-SQL-Standards und den meisten anderen Datenbanken ab. Solche Abfragen entsprechen jedoch einem Cross-Join, der ein kartesisches Produkt erstellt, anstatt Zeilen basierend auf gemeinsamen Bedingungen zu verbinden.

Wenn in MySQL eine ON-Klausel in einem JOIN oder INNER JOIN fehlt, ist der Effekt a Kreuzverbindung. Ebenso kann eine ON-Klausel mit einem CROSS JOIN verwendet werden, um die Join-Bedingungen weiter zu verfeinern.

Unterschiede zu LEFT- und RIGHT-JOINs:

LEFT- und RIGHT-JOINs erfordern eine ON-Klausel zur Angabe der Join-Bedingungen. Dies liegt daran, dass ihr Zweck darin besteht, Zeilen aus der linken oder rechten Tabelle einzubeziehen, auch wenn in der anderen Tabelle keine übereinstimmenden Zeilen vorhanden sind. Ohne eine ON-Klausel würden sie einfach die Zeilen der linken und rechten Tabelle jeweils separat zurückgeben.

Praktische Überlegungen:

Obwohl es technisch möglich ist, JOIN zu verwenden Bei Abfragen ohne ON-Bedingungen in MySQL ist es aus Gründen der Übersichtlichkeit generell ratsam, CROSS JOIN explizit zu verwenden. Die folgende Syntax wird bevorzugt:

from A cross join B
Nach dem Login kopieren

über:

from A, B
Nach dem Login kopieren

oder:

from A join B -- with no on clause
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKönnen MySQL-JOIN-Abfragen ohne eine ON-Klausel funktionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage