CREATE DATABASE IFNOT EXISTS duckdb_cte;
USE duckdb_cte;
CREATE TABLE duckdb_table (id INT PRIMARY KEY, col1 INT) ENGINE=DuckDB;
CREATE TABLE innodb_table (id INT PRIMARY KEY, col1 INT) ENGINE=InnoDB;
INSERT INTO duckdb_table VALUES (1, 1);
INSERT INTO innodb_table VALUES (1, 1);
(1) CTE
WITH tmp AS (SELECT MAX(col1) FROM duckdb_table) SELECT * FROM tmp; MAX(col1) 1
WITH tmp AS (SELECT MAX(col1) FROM duckdb_table) SELECT * FROM tmp, duckdb_table; MAX(col1) id col1 111
WITH tmp AS (SELECT MAX(col1) FROM duckdb_table) SELECT * FROM tmp, innodb_table; MAX(col1) id col1 111
(2) Recursive CTE
WITH RECURSIVE tmp AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM tmp WHERE n < 3
)
SELECT * FROM duckdb_table, tmp;
id col1 n 111 112 113
WITH RECURSIVE tmp AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM tmp, duckdb_table WHERE n = duckdb_table.col1
)
SELECT * FROM duckdb_table, tmp;
id col1 n 111 112
WITH RECURSIVE tmp AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM tmp, innodb_table WHERE n = innodb_table.col1
)
SELECT * FROM duckdb_table, tmp;
id col1 n 111 112
DROP TABLE duckdb_table;
DROP TABLE innodb_table;
DROP DATABASE duckdb_cte;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.