Ortak tablo ifadesi (CTE)

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

SQL deyimi kapsamında büyük olasılıkla birden çok kez başvurabileceğiniz geçici bir sonuç kümesi tanımlar. CTE genellikle bir SELECT deyimde kullanılır.

Sözdizimi

WITH common_table_expression [, ...]

common_table_expression
  view_identifier [ ( column_identifier [, ...] ) ] [ AS ] ( query )

Parametre

  • view_identifier

    başvurulabilecek bir tanımlayıcı common_table_expression

  • column_identifier

    sütununun common_table_expression başvurulabileceği isteğe bağlı tanımlayıcı.

    belirtildiyse column_identifier, sayılarının tarafından döndürülen sütun sayısıyla eşleşmesi querygerekir. Ad belirtilmezse, sütun adları'ndan querytüretilir.

  • Sorgu

    Sonuç kümesi oluşturan sorgu.

Örnekler

-- CTE with multiple column aliases
> WITH t(x, y) AS (SELECT 1, 2)
  SELECT * FROM t WHERE x = 1 AND y = 2;
   1   2

-- CTE in CTE definition
> WITH t AS (
    WITH t2 AS (SELECT 1)
    SELECT * FROM t2)
  SELECT * FROM t;
   1

-- CTE in subquery
> SELECT max(c) FROM (
    WITH t(c) AS (SELECT 1)
    SELECT * FROM t);
      1

-- CTE in subquery expression
> SELECT (WITH t AS (SELECT 1)
          SELECT * FROM t);
                1

-- CTE in CREATE VIEW statement
> CREATE VIEW v AS
    WITH t(a, b, c, d) AS (SELECT 1, 2, 3, 4)
    SELECT * FROM t;
> SELECT * FROM v;
   1   2   3   4

-- CTE names are scoped
> WITH t  AS (SELECT 1),
       t2 AS (
        WITH t AS (SELECT 2)
        SELECT * FROM t)
SELECT * FROM t2;
   2