Eine kurze Analyse des Unterschieds zwischen und und wo in der MySQL-Verbindungsabfrage

Eine kurze Analyse des Unterschieds zwischen und und wo in der MySQL-Verbindungsabfrage

1. Erstellen Sie eine Tabelle

CREATE TABLE `student` (
  `id` int(11) NICHT NULL,
  `name` varchar(255) ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_general_ci NULL STANDARD NULL,
  `Alter` int(11) NULL DEFAULT NULL,
  PRIMÄRSCHLÜSSEL (`id`) MIT BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamisch;


INSERT INTO `student` VALUES (1, 'Student', 12);
INSERT INTO `student` VALUES (2, 'Student', 12);
INSERT INTO `student` VALUES (3, 'Student', 12);
INSERT INTO `student` VALUES (4, 'Student', 12);
INSERT INTO `student` VALUES (5, 'Student', 12);
INSERT INTO `Student` VALUES (6, 'Schildkröte', 12);
CREATE TABLE `Klasse` (
  `id` int(11) NICHT NULL,
  `sid` int(11) NULL DEFAULT NULL,
  `Klasse` int(11) NULL DEFAULT NULL,
  PRIMÄRSCHLÜSSEL (`id`) MIT BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamisch;

INSERT INTO `Klasse` VALUES (1, 1, 100);
INSERT INTO `Klasse` VALUES (2, 2, 80);
INSERT INTO `Klasse` VALUES (3, 3, 99);
INSERT INTO `Klasse` VALUES (4, 4, 66);

2. Innerer Join

Bei inneren Verknüpfungen gibt es keinen Unterschied zwischen und und wo. Beide verwenden die Ergebnisse nach der Verknüpfung, um eine bedingte Überprüfung durchzuführen.

2.1 Keine Bedingungen

2.2 und Zustand

2.3 Wobei-Bedingung

3. Links verbinden

3.1 Keine Bedingungen

3.2 und Zustand

Beim Left Join wird für die Verbindung eine vollständige Übereinstimmung mit der linken Tabelle hergestellt und anschließend AND zum Filtern verwendet. Die Daten der linken Tabelle, die die Bedingungen nicht erfüllen, werden beibehalten, und die Daten der rechten Tabelle sind null.

3.3 Wobei-Bedingung

Beim Left Join wird die linke Tabelle vollständig für die Verbindung abgeglichen und dann wird die Where-Klausel zum Filtern verwendet; nur die Daten, die die Bedingungen erfüllen, werden gefiltert.

4. richtig beitreten

Dasselbe wie Left Join in 3, außer dass die Basistabellen vertauscht sind.

5. Fazit

  • Verwenden Sie für alle Verbindungen „where“, um nach der Verbindung die Datenzeilen zu filtern, die die Bedingungen erfüllen, und behalten Sie nur die Datenzeilen bei, die die Bedingungen erfüllen.
  • Wenn Left Join verwendet wird und die linke Tabelle als Haupttabelle verwendet wird, bleiben alle Daten in der linken Tabelle erhalten und die Datenzeilen, die die Bedingungen nicht erfüllen, werden in der rechten Tabelle auf Null gesetzt.
  • Wenn Right Join verwendet wird und die rechte Tabelle als Haupttabelle verwendet wird, bleiben alle Daten in der rechten Tabelle erhalten und die Daten der linken Tabelle, die die Bedingungen nicht erfüllen, sind null.

Dies ist das Ende dieses Artikels über den Unterschied zwischen und und wo in der MySQL-Verbindungsabfrage. Weitere relevante MySQL-Verbindungsabfragen und wo-Inhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“
  • MySQL bedingte Abfrage und/oder Verwendung und Priorität Beispielanalyse
  • Prioritätsanalyse von und/oder Abfragen in MySQL
  • MySQL Left-Join-Mehrtabellenabfrage, bei der das Schreiben einer Where-Bedingung ein Beispiel ist
  • Ein Beispiel, wie PHP MySQL-Abfrageergebnisse in ein Array konvertiert und sie mit where verknüpft.
  • Analyse des Unterschieds zwischen „Platzieren auf“ und „Wo“ in MySQL-Abfragebedingungen

<<:  Zusammenfassung der Updates und gefundenen Probleme des Docker Consul-Containerdienstes

>>:  Einführung in CSS-Stileinführungsmethoden und ihre Vor- und Nachteile

Artikel empfehlen

So bereinigen Sie regelmäßig private Docker-Server-Images

Die Verwendung von CI zum Erstellen von Docker-Im...

Eine detaillierte Einführung in die Tomcat-Verzeichnisstruktur

Öffnen Sie das dekomprimierte Verzeichnis von Tom...

So erweitern Sie den Speicherplatz eines Linux-Servers

Inhaltsverzeichnis Vorwort Schritt Vorwort Heute ...

Was ist ein MySQL-Tablespace?

Das Thema, das ich heute mit Ihnen teilen möchte,...

Detaillierte Erklärung von Promises in JavaScript

Inhaltsverzeichnis Grundlegende Verwendung von Pr...

So exportieren Sie die MySQL-Tabellenstruktur nach Excel

Die Voraussetzungen sind wie folgt Exportieren Si...

Wartungsmethode für den Innodb-Systemtabellenbereich

Umweltbeschreibung: Es gibt eine laufende MySQL-U...

Docker verpackt das lokale Image und stellt es auf anderen Maschinen wieder her

1. Verwenden Sie Docker-Images, um alle Image-Dat...