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

Was ist TypeScript?

Inhaltsverzeichnis 1. JavaScript-Probleme 2. Vort...

Reines js, um einen Schreibmaschineneffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Beispielcode zur Implementierung einer Hohlmaskenebene mit CSS

Inhalt dieses Artikels: Seitenhohlmaskenebene, Se...

Detaillierte Einführung in TABLE-Tags (TAGS)

Grundlegende Syntax der Tabelle <table>...&l...

MySQL 8.0.19 Installations- und Konfigurations-Tutorial unter Windows 10

Ich werde nächstes Semester MySQL lernen. Ich hab...

Detaillierte Erklärung zur Verwendung des CSS-Zeigerereignisse-Attributs

Bei der Frontend-Entwicklung stehen wir in direkt...

Erläuterung der Methode zum Schreiben von SQL-Anweisungen zum Einfügen

Methode 1: INSERT INTO t1(Feld1,Feld2) VALUE(v001...

MySQL 5.7.20 Zip-Installations-Tutorial

MySQL 5.7.20 Zip-Installation, der spezifische In...

Verwenden Sie js in html, um die lokale Systemzeit abzurufen

Code kopieren Der Code lautet wie folgt: <div ...

So zeigen Sie ein kleines Symbol vor der Browser-URL an

Wenn Sie viele Websites durchsuchen, werden Sie fe...