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

Zusammenfassung der neuen Verwendung von vi (vim) unter Linux

Ich benutze den vi-Editor seit mehreren Jahren, h...

Detaillierte Erklärung der verfügbaren Umgebungsvariablen in Docker Compose

Mehrere Teile von Compose befassen sich in irgend...

Einführung in die Fuzzy-Abfragemethode mit instr in MySQL

Die Verwendung der internen Funktion instr in MyS...

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

Analyse des Implementierungsprozesses für die Tomcat maxPostSize-Einstellung

1. Warum maxPostSize festlegen? Der Tomcat-Contai...

So zeigen Sie die IP-Adresse von Linux in einer virtuellen VMware-Maschine an

1. Doppelklicken Sie zunächst auf das VMware-Symb...

Beispiele für die Verwendung der MySQL-EXPLAIN-Anweisung

Inhaltsverzeichnis 1. Nutzung 2. Ausgabeergebniss...

js realisiert die Bildschneidefunktion

In diesem Artikelbeispiel wird der spezifische Co...

Zeitzonenprobleme mit im Docker-Container bereitgestelltem Django

Inhaltsverzeichnis Zeitzonenkonfiguration in Djan...

JavaScript zum Erreichen eines Mouse-Tailing-Effekts

Mauseffekte erfordern die Verwendung von setTimeo...