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 SHOW PROCESSLIST unterstützt den gesamten Prozess der Fehlerbehebung

1. SHOW PROCESSLIST-Befehl SHOW PROCESSLIST zeigt...

CentOS 7 Installations- und Konfigurations-Tutorial unter VMware10

Während Ubuntu heute das beliebteste Linux-Betrie...

Zusammenfassung der grundlegenden Wissenspunkte der Linux-Gruppe

1. Grundlegende Einführung in die Linux-Gruppe Un...

Implementierung des HTML-Gleit- und Schwebeball-Menüeffekts

CSS-Stile html,Text{ Breite: 100 %; Höhe: 100%; R...

So installieren Sie ROS Noetic in Ubuntu 20.04

Haftungsausschluss: Da das Projekt die Verwendung...

Der Unterschied zwischen den Größen- und Maxlength-Attributen von Input

Ich habe kürzlich die Attribute „input size“ und „...

Tutorial zur Installation und Konfiguration von MySQL 5.7 unter CentOS7 (YUM)

Installationsumgebung: CentOS7 64-Bit, MySQL5.7 1...

So fragen Sie die Schnittmenge von Zeiträumen in MySQL ab

Mysql-Abfragezeitraum-Schnittmenge Anwendungsszen...

js, css, html bestimmen die verschiedenen Versionen des Browsers

Verwenden Sie reguläre Ausdrücke, um die IE-Browse...

Erfahrungsaustausch über die Priorität des Ladens von CSS-Stilen

Während der Projektentwicklung bin ich gestern auf...

Entwickeln Sie eine Vue-Komponente, die Iframe kapselt

Inhaltsverzeichnis 1. Komponenteneinführung 2. In...