Cập nhật:MySQL 8.0 cuối cùng cũng nhận được tính năng của các biểu thức bảng phổ biến, bao gồm cả CTE đệ quy.
Đây là blog thông báo về điều đó: http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes/
Dưới đây là câu trả lời trước đây của tôi, mà tôi đã viết ban đầu vào năm 2008.
MySQL 5.x không hỗ trợ các truy vấn sử dụng WITH
cú pháp được xác định trong SQL-99, còn được gọi là Biểu thức bảng chung.
Đây là một yêu cầu tính năng cho MySQL kể từ tháng 1 năm 2006: http://bugs.mysql .com / bug.php? id =16244
Các sản phẩm RDBMS khác hỗ trợ các biểu thức bảng phổ biến:
- Oracle 9i phiên bản 2 trở lên:
http ://www.oracle-base.com/articles/misc/with-clause.php - Microsoft SQL Server 2005 trở lên:
http://msdn.microsoft.com/en-us/library/ms190766 (v =sql.90) .aspx - IBM DB2 UDB 8 trở lên:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb .doc / admin / r0000879.htm - PostgreSQL 8.4 trở lên:
https://www.postgresql.org/docs/current/static/queries-with.html"> https:/ /www.postgresql.org/docs/current/static/queries-with.html - Sybase 11 trở lên:
http ://dcx.sybase.com/1100/en/dbusage_en11/commontblexpr-s-5414852.html - SQLite 3.8.3 trở lên:
http://sqlite.org/lang_with.html - HSQLDB:
http://hsqldb.org/ doc / guide / dataaccess-chapt.html # dac_with_clause - Firebird 2.1 trở lên (DBMS Nguồn mở đầu tiên hỗ trợ truy vấn đệ quy): http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes210.html#rnfb210-cte
- Cơ sở dữ liệu H2 (nhưng chỉ đệ quy):
http://www.h2database.com/html/ advanced.html # recursive_queries - Informix 14.10 trở lên: https://www.ibm.com/support/knowledgecenter/SSGU8G_14.1.0/com.ibm.sqls.doc/ids_sqs_with.htm