Anwendungsbeispiele für den Mysql Inner Join (unbedingt lesen)

Anwendungsbeispiele für den Mysql Inner Join (unbedingt lesen)

Grammatikregeln

SELECT Spaltenname(n)
FROM Tabellenname1
INNER JOIN Tabellenname2 
ON Tabellenname1.Spaltenname=Tabellenname2.Spaltenname

Erstellen Sie zunächst zwei Tabellen, 1. Benutzer, 2. Benutzerkategorie

Benutzertabelle

CREATE TABLE `Benutzer` (
 `id` int(32) NICHT NULL AUTO_INCREMENT,
 `name` varchar(16) NICHT NULL,
 `kindid` int(32) NICHT NULL,
 PRIMÄRSCHLÜSSEL (`id`)
)ENGINE=MyISAM STANDARD-CHARSET=utf8;

Benutzerkategorietabelle

CREATE TABLE `Benutzerkind` (
 `id` int(32) NICHT NULL AUTO_INCREMENT,
 `kindname` varchar(16) NICHT NULL,
 PRIMÄRSCHLÜSSEL (`id`)
)ENGINE=MyISAM STANDARD-CHARSET=utf8;

Fügen Sie einige Daten in die Benutzertabelle ein

INSERT INTO `user` VALUES (1,'Xiao Ming',1),(2,'Xiao Hong',1),(3,'Han Han',2); Fügen Sie einige Daten in die Userkind-Tabelle ein

INSERT INTO `userkind` VALUES (1,'Ordentliches Mitglied'),(2,'VIP-Mitglied');

Wie in der Abbildung gezeigt:

Nachfolgend sehen Sie ein Beispiel für eine Konsolenabfrage:

Passwort eingeben: ****
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 2
Serverversion: 5.5.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle und/oder Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> Join verwenden;
Datenbank geändert
mysql> wähle * von „Benutzer“;
+----+------+--------+
| ID | Name | Kinder-ID |
+----+------+--------+
| 1 | Xiao Ming | 1 |
| 2 | Xiaohong | 1 |
| 3 | Hanhan | 2 |
+----+------+--------+
3 Zeilen im Satz (0,00 Sek.)

mysql> wähle * aus „Benutzerkind“;
+----+----------+
| ID | Artname |
+----+----------+
| 1 | Ordentliches Mitglied|
| 2 | VIP-Mitgliedschaft |
+----+----------+
2 Zeilen im Satz (0,00 Sek.)

mysql> wähle * von „Benutzer“ innerer Join „Benutzerkind“ auf user.kindid=userkind.id;
+----+------+--------+----+----------+
| ID | Name | Kind-ID | ID | Kindname |
+----+------+--------+----+----------+
| 1 | Xiao Ming | 1 | 1 | Ordentliches Mitglied |
| 2 | Xiaohong | 1 | 1 | Ordentliches Mitglied |
| 3 | Hanhan | 2 | 2 | VIP-Mitglied |
+----+------+--------+----+----------+
3 Reihen im Satz (0,02 Sek.)

mysql> wähle `id` als `Benutzer-ID`,`name` als `Benutzername`,`kindname` als `Benutzerkategorie` aus
`user` innerer Join `userkind`, wobei user.kindid=userkind.id;
FEHLER 1052 (23000): Spalte „id“ in der Feldliste ist mehrdeutig
mysql> wähle `user`.`id` als `Benutzer-ID`,`name` als `Benutzername`,`kindname` als `Benutzerkategorie` aus
  -> `user` innerer Join `userkind`, wobei `user`.`kindid`=`userkind`.`id`;
+--------+--------+----------+
| Benutzer-ID | Benutzername | Benutzerkategorie |
+--------+--------+----------+
| 1 | Xiao Ming | Ordentliches Mitglied |
| 2 | Xiaohong | Ordentliches Mitglied |
| 3 | Hanhan | VIP-Mitglied |
+--------+--------+----------+
3 Zeilen im Satz (0,00 Sek.)

mysql> wähle `user`.`id` als `userID`, `name` als `username`, `kindname` als `userkind` aus `user` inner join `userkind` auf `user`.`kindid`=`userkind`.`id`;
+--------+--------+----------+
| Benutzer-ID | Benutzername | Benutzerkategorie |
+--------+--------+----------+
| 1 | Xiao Ming | Ordentliches Mitglied |
| 2 | Xiaohong | Ordentliches Mitglied |
| 3 | Hanhan | VIP-Mitglied |
+--------+--------+----------+
3 Zeilen im Satz (0,00 Sek.)

MySQL>

Es sollte beachtet werden, dass hier im Wesentlichen gleichbedeutend ist mit wo (meiner Meinung nach)

Wenn eine Spalte in beiden Tabellen vorhanden ist, aber nicht unterschieden werden kann, müssen Sie „Tabellenname“. „Feldname“ verwenden, um sie zu unterscheiden.

as ist ein Alias. Schauen Sie sich einfach das Beispiel oben an!

Das obige Anwendungsbeispiel für Mysql Inner Join (unbedingt lesen) ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Grundlegende MySQL-Tabellenabfragen – häufige Fehler beim Left-Join
  • Zusammenfassung verschiedener gängiger Abfragebeispiele für Join-Tabellen in MySQL
  • Stabile Version von MySQL 8.0.18 veröffentlicht! Hash Join ist wie erwartet da
  • Join-Operation in MySQL
  • Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation
  • Detaillierte Erklärung zur Verwendung von Join in Mysql
  • Zusammenfassung der sieben MySQL JOIN-Typen

<<:  Beispielcode für die Batchbereitstellung von Nginx mit Ansible

>>:  Einführung in Docker-Container

Artikel empfehlen

So verstehen Sie den Unterschied zwischen ref toRef und toRefs in Vue3

Inhaltsverzeichnis 1. Grundlagen 1.Referenz 2. to...

So verwenden Sie weniger im WeChat-Applet (optimale Methode)

Vorwort Ich bin es gewohnt, Less/Sass zu schreibe...

Lösen Sie das Problem, dass ifconfig im Docker nicht verfügbar ist

Als ich kürzlich Docker lernte, stellte ich fest,...

Fassen Sie die häufigsten Anwendungsprobleme von XHTML-Code zusammen

Im Laufe der Zeit habe ich festgestellt, dass vie...

Eingabetyp begrenzen (mehrere Methoden)

1. Es können nur chinesische Schriftzeichen eingeg...

Vue implementiert eine Scroll-Ladetabelle

Inhaltsverzeichnis Ergebnisse erzielen Wissensres...

Detailliertes Tutorial zum Bereitstellen von Jenkins basierend auf Docker

0. Als ich dieses Dokument erstellte, war es unge...

HTML-Grundlagen-Zusammenfassungsempfehlung (Textformat)

HTML-Tags zur Textformatierung 標簽 描述 <b> 定義...

Vue realisiert den gesamten Prozess der Slider-Drag-Verifizierungsfunktion

Rendern Definieren Sie das Skelett, schreiben Sie...