Wissenspunkte zum Prinzip der MySQL-Join-Abfrage

Wissenspunkte zum Prinzip der MySQL-Join-Abfrage

Mysql Join-Abfrage

1. Grundlegende Konzepte

Verbinden Sie die einzelnen Zeilen der beiden Tabellen paarweise horizontal, um die Ergebnisse aller Zeilen zu erhalten.

Annahmen:

Tabelle A hat n1 Zeilen und m1 Spalten;

Tabelle B hat n2 Zeilen und m2 Spalten;

Nachdem Tabelle A und Tabelle B „verbunden“ sind, haben wir:

n1*n2 Zeilen;

m1+m2 Spalten.

2. Das Ergebnis nach der Verbindung sieht ungefähr so ​​aus:

3. Grundform der Join-Abfrage: aus Tabelle 1 [Join-Methode] Join-Tabelle 2 [unter Join-Bedingung] Grundform der Join-Abfrage: aus Tabelle 1 [Join-Methode] Join-Tabelle 2 [unter Join-Bedingung]

1. Klassifizierung von Verbindungsanfragen

Querverbindung

Tatsächlich sind es „alle Daten“, die nach dem Verbinden zweier Tabellen gemäß dem Grundkonzept der Verbindung erhalten werden, ohne dass es zu einem „Filtern“ des Ergebnisses kommt – mit Filtern wird die Verbindungsbedingung gemeint.

Das heißt, ein Cross Join ist ein unbedingter „Join aller“ – auch als kartesisches Produkt bekannt.

Kreuzverbindungen haben im Allgemeinen keinen praktischen Wert, da nach der Verbindung der Daten die Bedeutung der einzelnen Datenzeilen „verloren“ gehen kann.

bilden:

von Tabelle1 [kreuzen] Tabelle2 verbinden;

oder:

aus Tabelle1, Tabelle2;

Innerer Join

bilden:

von Tabelle1 [inner] Verknüpfung mit Tabelle2 auf Tabelle1.Feld1 = Tabelle2.Feld2;

Bedeutung:

Holen Sie sich die Daten der Zeilen, die die festgelegten Verbindungsbedingungen (die Bedingungen nach „Ein“) im Ergebnis einer „Querverbindung“ erfüllen.

Cross Joins enthalten häufig „bedeutungslose Daten“, wie im Folgenden beschrieben:

2. Schauen Sie sich die Ergebnisse der inneren Verbindung an:

3. Das Ergebnis ist:

4. Es ist ersichtlich, dass es beim Inner Join tatsächlich darum geht, die „sinnvollen“ Datenzeilen in den Datenergebnissen eines Cross Join zu finden. Bei einem Cross Join sind einige Daten aussagekräftig, während andere bedeutungslos sind (fehlerhafte Daten).

Bitte beachten Sie jedoch:

  • 1. Diese Verbindungsbedingung wird nicht willkürlich festgelegt, sondern muss entsprechend der tatsächlichen Beziehung zwischen den Tabellen festgelegt werden. Normalerweise besteht die Beziehung darin, dass die Werte der beiden Felder mit einer "Primär- und Fremdschlüsselbeziehung" zwischen den beiden Tabellen gleich sind.
  • 2. Es ist ersichtlich, dass die Verbindungsabfrage eine inhärente logische Konsistenz mit der zuvor gelernten "Fremdschlüsselbeziehung" aufweist.
  • 3. Wenn wir jedoch einen inneren Join durchführen, ist es nicht erforderlich, dass die beiden Tabellen eine Fremdschlüsselbeziehung haben „müssen“ – wir verstehen aus praktischer Sicht lediglich, dass sie eine Fremdschlüsselbeziehung (Datenbeziehung) haben und dass ihre Beziehung hergestellt wird, wenn bei der Abfrage ein innerer Join verwendet wird. Es ist ersichtlich, dass es beim Inner Join tatsächlich darum geht, die „sinnvollen“ Datenzeilen in den Datenergebnissen eines Cross Join zu finden. Bei einem Cross Join sind einige Daten aussagekräftig, während andere bedeutungslos sind (fehlerhafte Daten).

Das könnte Sie auch interessieren:
  • Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation
  • Analyse der Verwendung mehrerer MySQL-Left-Join-Abfragen
  • MySQL-Optimierung: Join statt Unterabfrage verwenden
  • MySQL-Abfrageoptimierung: Einführung in das Sortierlimit für Join-Abfragen (Join-, Order-by- und Limit-Anweisung)
  • Detailliertes Tutorial zur Verwendung der JOIN-Anweisung zum Ausführen von Verbindungsvorgängen in MySQL
  • MySQL-Join-Abfragesyntax und Beispiele
  • Zusammenfassung mehrerer häufig verwendeter Verbindungsmethoden in MySQL

<<:  CentOS7-Installations-GUI-Schnittstelle und Implementierung der Remote-Verbindung

>>:  JavaScript-Canvas zum Erzielen eines Regentropfeneffekts

Artikel empfehlen

Detaillierte Schritte zum Erstellen einer React-Anwendung mit einer Rails-API

Inhaltsverzeichnis Backend: Rails API-Teil Front-...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...

jQuery implementiert einen einfachen Popup-Fenstereffekt

In diesem Artikel wird der spezifische Code von j...

Spezifische Methode zum Löschen des MySQL-Dienstes

MySQL meldet den folgenden Fehler Ich ging zu „Sy...

Detaillierte Schritte zum Erweitern der LVM-Festplatte unter Linux

1. Fügen Sie eine Festplatte hinzu 2. Überprüfen ...

jQuery-Plugin zur Implementierung eines gestapelten Menüs

Jeden Tag ein jQuery-Plugin - gestapeltes Menü. Z...

Detaillierte Erklärung der Datenmengen von Docker-Containern

Was ist Schauen wir uns zunächst das Konzept von ...

So erstellen Sie schnell eine statische Website in der Alibaba Cloud

Vorwort: Als Junior-Programmierer träume ich davo...

So sperren Sie eine virtuelle Konsolensitzung unter Linux

Wenn Sie an einem gemeinsam genutzten System arbe...

Lösen Sie das Problem der unsicheren Docker x509-Registrierung

Nach der Installation von Docker trat beim Versuc...

jQuery zum Erzielen eines gleitenden Treppeneffekts

In diesem Artikel wird der spezifische Code von j...