Актуализация:MySQL 8.0 най-накрая получава функцията на общите таблични изрази, включително рекурсивни CTE.
Ето блог, който го обявява: http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes/
По-долу е моят по-ранен отговор, който първоначално написах през 2008 г.
MySQL 5.x не поддържа заявки, използващи WITH
синтаксис, дефиниран в SQL-99, наричан още Общи изрази за таблица.
Това е заявка за функция за MySQL от януари 2006 г.:http://bugs.mysql .com/bug.php?id=16244
Други RDBMS продукти, които поддържат общи изрази за таблици:
- Oracle 9i версия 2 и по-нова:
http ://www.oracle-base.com/articles/misc/with-clause.php - Microsoft SQL Server 2005 и по-нови:
http://msdn.microsoft.com/en-us/library/ms190766(v=sql.90).aspx - IBM DB2 UDB 8 и по-нови:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb .doc/admin/r0000879.htm - PostgreSQL 8.4 и по-нови:
https:/ /www.postgresql.org/docs/current/static/queries-with.html - Sybase 11 и по-нови:
http ://dcx.sybase.com/1100/en/dbusage_en11/commontblexpr-s-5414852.html - SQLite 3.8.3 и по-нови:
http://sqlite.org/lang_with.html - HSQLDB:
http://hsqldb.org/ doc/guide/dataaccess-chapt.html#dac_with_clause - Firebird 2.1 и по-нова версия (първата СУБД с отворен код, която поддържа рекурсивни заявки):http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes210.html#rnfb210-cte
- База данни H2 (но само рекурсивно):
http://www.h2database.com/html/ advanced.html#recursive_queries - Informix 14.10 и по-нови:https://www.ibm.com/support/knowledgecenter/SSGU8G_14.1.0/com.ibm.sqls.doc/ids_sqs_with.htm