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

Natives JS zum Erstellen einer Drag-Fotowand

Dieser Artikel zeigt Ihnen eine verschiebbare Fot...

CSS3 realisiert den grafischen Fallanimationseffekt

Sehen Sie zuerst den Effekt Implementierungscode ...

Zusammenfassung der Grundkenntnisse und Vorgänge der MySQL-Datenbank

Dieser Artikel erläutert anhand von Beispielen di...

Sonderzeichen in HTML anzeigen (mit Sonderzeichen-Korrespondenztabelle)

Reproduktion des Problems Beim Bearbeiten mit HTM...

HTML5+CSS3-Codierungsstandards

Die goldene Regel Unabhängig davon, wie viele Per...

WeChat-Applet implementiert Suchfeldfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Details zur Reihenfolge, in der MySQL my.cnf liest

Inhaltsverzeichnis Die Reihenfolge, in der MySQL ...

So packen Sie das Projekt per Idee in Docker

Viele Freunde wollten schon immer wissen, wie man...

Beispiel für die Implementierung des Skelettbildschirms des WeChat-Applets

Inhaltsverzeichnis Was ist ein Skelettbildschirm?...

Eine kurze Einführung in den MySQL-Dialekt

Wenn wir einmal von Datenbanken absehen, was ist ...

IDEA verwendet das Docker-Plugin (Tutorial für Anfänger)

Inhaltsverzeichnis veranschaulichen 1. Aktivieren...