Heim >Datenbank >MySQL-Tutorial >Warum unterstützt MySQL (5.x) keine allgemeinen Tabellenausdrücke (WITH-Klausel)?
MySQL 5.x und die fehlende WITH-Klausel
MySQL-Versionen 5.x unterstützen die WITH
-Klausel nicht, eine Standard-SQL-99-Funktion zum Definieren von Common Table Expressions (CTEs). CTEs sind temporäre benannte Ergebnismengen, die innerhalb einer einzelnen Abfrage verwendet werden.
Dieses Versäumnis steht im Gegensatz zu anderen großen Datenbanksystemen wie Oracle, SQL Server, PostgreSQL und Firebird, die alle CTE-Unterstützung bieten. Anfragen für diese Funktionalität bestehen seit mindestens 2006, sind jedoch in MySQL 5.x noch nicht implementiert.
Problemumgehungen für MySQL 5.x
Ohne die WITH
-Klausel müssen MySQL 5.x-Benutzer alternative Methoden verwenden, um das CTE-Verhalten zu replizieren:
Das Versprechen von MySQL 8.0
MySQL 8.0 wird voraussichtlich CTE-Unterstützung einführen, einschließlich rekursiver CTEs. Diese bedeutende Verbesserung wird die Einhaltung von SQL-99-Standards durch MySQL verbessern und die Vorteile dieser wertvollen Funktion freischalten.
Bis MySQL 8.0 allgemein verfügbar wird, bleiben die oben aufgeführten Problemumgehungen die praktischen Lösungen für die Verwaltung von Abfragen, die normalerweise CTEs verwenden würden.
Das obige ist der detaillierte Inhalt vonWarum unterstützt MySQL (5.x) keine allgemeinen Tabellenausdrücke (WITH-Klausel)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!