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-Daemon konnte nicht gestartet werden – Fehlerlösung

MySQL-Daemon konnte nicht gestartet werden – Fehl...

Zusammenfassung der grundlegenden Operationen für MySQL-Anfänger

Bibliotheksbetrieb Abfrage 1.SHOW DATABASE; ----A...

CSS-Schreibformat, detaillierte Erklärung der Grundstruktur einer mobilen Seite

1. CSS-Schreibformat 1. Inline-Stile Sie können C...

Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

Inhaltsverzeichnis 1.kvm-Bereitstellung 1.1 KVM-I...

Wie erreicht MySQL die Parallelität mehrerer Versionen?

Inhaltsverzeichnis MySQL-Mehrversionen-Parallelit...

Prioritätsanalyse von und/oder Abfragen in MySQL

Dies ist ein Problem, das leicht übersehen wird. ...

So beheben Sie den Verbindungsfehler zur Datenbank beim Start von ServerManager

Servermanager-Startfehler bei Verbindung zur Date...

CSS Sticky Footer Mehrere Implementierungen

Was ist „Sticky Footer“ Der sogenannte „Sticky Fo...

So zeigen Sie Webseiten in verschiedenen Auflösungen und Browsern richtig an

Die Schlüsselcodes lauten wie folgt: Code kopieren...

Detailliertes Beispiel der MySQL curdate()-Funktion

Einführung in die MySQL CURDATE-Funktion Bei Verw...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...