更新:MySQL 8.0は、再帰CTEを含む一般的なテーブル式の機能をついに取得しています。
これを発表するブログは次のとおりです。
以下は、2008年に最初に書いた私の以前の回答です。
MySQL 5.xは、WITH
を使用したクエリをサポートしていません SQL-99で定義されている構文。共通テーブル式とも呼ばれます。
これは、2006年1月からMySQLの機能リクエストです: 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以降(再帰クエリをサポートする最初のオープンソースDBMS): 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