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

Schnellstart-Tutorial zum Nginx-Dienst

Inhaltsverzeichnis 1. Einführung in Nginx 1. Was ...

Einführung in die Bereitstellung des Selenium-Crawler-Programms unter Linux

Inhaltsverzeichnis Vorwort 1. Was ist Selen? 2. N...

Lösung für das Jitter-Problem beim CSS3-Transformationsübergang

transform: scale(); Skalierung verursacht Jitter ...

Zusammenfassung der MySQL-Ansichtsprinzipien und Anwendungsbeispiele

Dieser Artikel fasst die Prinzipien und die Verwe...

Einführung in HTML_PowerNode Java Academy

Was ist HTML? HTML ist eine Sprache zur Beschreib...

Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

Inhaltsverzeichnis 1. Baidu Map API-Zugriff 2. Ve...

So installieren und speichern Sie die PostgreSQL-Datenbank in Docker

Überspringen Sie die Docker-Installationsschritte...

Probleme mit der Rancher-Bereitstellung und dem Importieren von K8S-Clustern

Die Rancher-Bereitstellung kann über drei Archite...

So erhalten und verwenden Sie die Zeit im Linux-System

Es gibt zwei Arten von Linux-Systemzeiten. (1) Ka...

Detaillierte Einführung in das MySQL-Schlüsselwort Distinct

Einführung in die Verwendung des MySQL-Schlüsselw...

So verwenden Sie das VS2022-Remote-Debugging-Tool

Manchmal müssen Sie bei der Arbeit ein Remote-Deb...

Django-Online-Bereitstellungsmethode von Apache

Umfeld: 1. Windows Server 2016 Datacenter 64-Bit ...