Einfaches Anwendungsbeispiel für rekursive MySQL 8.0-Abfragen

Einfaches Anwendungsbeispiel für rekursive MySQL 8.0-Abfragen

Vorwort

Dieser Artikel verwendet die neuen Funktionen von MySQL 8.0, um rekursive Abfragen zu implementieren. Detaillierter Beispielcode ist im Artikel enthalten. Werfen wir einen Blick auf die ausführliche Einführung.

Verwendung rekursiver Abfragen in Mysql8.0

Die Tabellendaten lauten wie folgt

+--------+----------+------------+
| Katzen-ID | Name | übergeordnete CID |
+--------+----------+------------+
| 12 | Schönheit | 0 |
| 4 | Kleidung | 0 |
| 5 | Damenbekleidung | 4 |
| 6 | Herrenbekleidung | 4 |
| 7 | Kinderbekleidung | 4 |
| 19 | Schönheit und Körper | 12 |
| 18 | Bilden | 12 |
| 13 | Hautpflege | 12 |
| 15 | Hautpflegeset | 13 |
| 40 | Sonnenschutz | 13 |
| 39 | Make-up-Entfernung | 13 |
| 38 | Lippenbalsam | 13 |
| 17 | Lotion und Creme | 13 |
| 16 | Gesichtsmaske | 13 |
| 14 | Toner | 13 |
+--------+----------+------------+

1. Wir müssen alle Unterkategorien unter der Kategorie „Kleidung“ finden

mit rekursivem type_cte als (
    Wählen Sie * aus t_category, wobei cat_id = 4
    Vereinigung alle
    wähle t.* aus t_Kategorie t
                        innerer Join type_cte type_cte2 auf t.parent_cid = type_cte2.cat_id
)
wählen
    Katzen-ID, Name, Eltern-ID
von type_cte

+--------+------+------------+
| Katzen-ID | Name | übergeordnete CID |
+--------+------+------------+
| 4 | Kleidung | 0 |
| 5 | Damenbekleidung | 4 |
| 6 | Herrenbekleidung | 4 |
| 7 | Kinderbekleidung | 4 |
+--------+------+------------+

2. Fragen Sie alle Unterkategorien unter der Kategorie „Schönheit“ ab, und der Kategoriename enthält den Namen der übergeordneten Kategorie

mit rekursivem type_cte als (
    Wählen Sie cat_id,name,parent_cid aus t_category, wobei cat_id = 12
    Vereinigung alle
    Wählen Sie t.cat_id, concat (type_cte2.name, '>', t.name), t.parent_cid 
    von t_Kategorie t
        innerer Join type_cte type_cte2 auf t.parent_cid = type_cte2.cat_id
)
wählen
    Katzen-ID, Name, Eltern-ID
von type_cte;

+--------+------------------------+------------+
| Katzen-ID | Name | übergeordnete CID |
+--------+------------------------+------------+
| 12 | Schönheit | 0 |
| 13 | Schönheit>Hautpflege | 12 |
| 18 | Schönheit>Make-up | 12 |
| 19 | Schönheit>Schönheit und Körper | 12 |
| 14 | Schönheit>Hautpflege>Toner | 13 |
| 15 | Beauty>Hautpflege>Hautpflegesets | 13 |
| 16 | Beauty>Hautpflege>Gesichtsmaske | 13 |
| 17 | Beauty>Hautpflege>Lotionen und Cremes | 13 |
| 35 | Beauty>Hautpflege>Reinigung | 13 |
| 36 | Schönheit>Hautpflege>Essenz | 13 |
| 37 | Schönheit>Hautpflege>Augencreme | 13 |
| 38 | Beauty>Hautpflege>Lippenbalsam | 13 |
| 39 | Schönheit > Hautpflege > Make-up-Entfernung | 13 |
| 40 | Schönheit>Hautpflege>Sonnenschutz | 13 |
+--------+------------------------+------------+

3. Alle übergeordneten Kategorien einer Kategorie abfragen

Passen Sie das SQL einfach entsprechend der zweiten Frage an.

mit rekursivem type_cte als (
    Wählen Sie cat_id,name,parent_cid aus t_category, wobei cat_id = 40
    Vereinigung alle
    Wählen Sie t.cat_id, concat (type_cte2.name, '>', t.name), t.parent_cid
    von t_Kategorie t
             innerer Join type_cte type_cte2 auf t.cat_id = type_cte2.parent_cid
)
wählen
    Katzen-ID, Name, Eltern-ID
von type_cte;

+--------+----------------+------------+
| Katzen-ID | Name | übergeordnete CID |
+--------+----------------+------------+
| 40 | Sonnenschutz | 13 |
| 13 | Sonnenschutz > Hautpflege | 12 |
| 12 | Sonnenschutz > Hautpflege > Make-up | 0 |
+--------+----------------+------------+

Zusammenfassen

Dies ist das Ende dieses Artikels über rekursive Abfragen in MySQL 8.0. Weitere relevante Inhalte zu rekursiven Abfragen in MySQL 8.0 finden Sie in früheren Artikeln auf 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:
  • Spezifische Implementierung für untergeordnete Knoten und übergeordnete Knoten der rekursiven Abfragebaumtabelle von MySQL
  • Implementierungsmethode der rekursiven MySQL-Baumabfrage
  • So implementieren Sie rekursive Abfragen in MySQL
  • MySQL verwendet benutzerdefinierte Funktionen, um die übergeordnete ID oder untergeordnete ID rekursiv abzufragen
  • MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

<<:  So lösen Sie die Hintergrundkachelung und den Rahmenbruch von CSS-Style-Div oder -Li in IE6

>>:  So verwenden Sie die Positionierung, um Elemente zu zentrieren (Tipps zum Webseiten-Layout)

Artikel empfehlen

MySQL-Batch entfernt Leerzeichen in einem bestimmten Feld

Gibt es in MySQL eine Möglichkeit, Leerzeichen st...

Detaillierte Erklärung des Vue3-Sandbox-Mechanismus

Inhaltsverzeichnis Vorwort Browser kompilierte Ve...

Lösungen für das Problem der Erstellung von XHTML- und CSS-Webseiten

Die Lösungen für die Probleme, die bei der Erstell...

Anwendung zur Verarbeitung von HTML-Tag-Überläufen

Verwenden Sie CSS, um Bildlaufleisten zu ändern 1...

So geben Sie chinesische Zeichen im Linux-Kernel aus

Sie können problemlos Chinesisch eingeben und im ...

js zur Realisierung einer einfachen Scheibenuhr

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erklärung zur Verwendung von Bussen in Vue

Vue-Busmechanismus (Bus) Zusätzlich zur Verwendun...

Implementierung des WeChat-Applet-Nachrichten-Pushs in Nodejs

Auswählen oder Erstellen einer Abonnementnachrich...

Player in Webseite einbetten Einbettungselement Autostart falsch ungültig

Kürzlich musste ich einen Player in eine Webseite ...

MySQL 5.7.18 Green Edition Download- und Installations-Tutorial

Dieser Artikel beschreibt den detaillierten Vorga...

Führen Sie die Schritte aus, um schnell ein Vue3.0-Projekt zu erstellen

Inhaltsverzeichnis 1. Wir müssen sicherstellen, d...

So entwickeln Sie Uniapp mit vscode

Da ich immer vscode zur Entwicklung von Front-End...

CSS3-Filtercode zum Erreichen des Grau- oder Schwarzmodus auf Webseiten

Frontend css3.filter kann nicht nur den Graueffek...