Aracılığıyla paylaş


İşleçleri ayarlama

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Önceki subquery1 ve subquery2'i tek bir taneye birleştirir. Azure Databricks üç tür küme işlecini destekler:

  • EXCEPT
  • INTERSECT
  • UNION

Sözdizimi

{ UNION | INTRECEPT | EXCEPT } [ ALL | DISTINCT ] subquery2 } [...]
  • alt sorgu2

    SELECT (alt seçim)'te belirtilen herhangi iki subquery cümlesi. Her iki alt sorgu da aynı sayıda sütuna sahip olmalı ve ilgili her sütun için en az ortak türü paylaşmalıdır.

  • UNION [TÜMÜ | DISTINCT]

    subquery1 sonucunu ve subquery2satırlarını döndürür.

    Belirtilirse ALL yinelenen satırlar korunur.

    Belirtilirse DISTINCT , sonuç yinelenen satır içermez. Bu varsayılan seçenektir.

  • INTERSECT [TÜMÜ | DISTINCT]

    Her iki alt sorguda da bulunan satır kümesini döndürür.

    hem de içinde ALLsubquery1 birden çok kez görüntülenen bir satır belirtilirsesubquery, birden çok kez döndürülür.

    Belirtilirse DISTINCT , sonuç yinelenen satırlar içermez. Bu varsayılan seçenektir.

  • [TÜMÜ | DISTINCT ]

    içinde subquery1 olmayan subquery2satırları döndürür.

    ALL belirtilirse, subquery2 içindeki her satır subquery1'den birden çok eşleşmeden tam olarak birini kaldırır.

    Belirtilirse DISTINCT , işlemi uygulamadan önce yinelenen satırlar kaldırılır subquery1 , bu nedenle tüm eşleşmeler kaldırılır ve sonuç yinelenen satırlar (eşleştirilir veya eşleşmez) olmaz. Bu varsayılan seçenektir.

    için MINUSbir söz dizimi alternatifi olarak belirtebilirsinizEXCEPT.

Küme işlemleri zincirleme sırasında INTERSECTUNION ve EXCEPT'den daha yüksek bir önceliğe sahiptir.

Her sonuç sütununun türü, subquery1 ve subquery2içindeki ilgili sütunların en az ortak türüdür.

Sonuç sütunu bir harmanlama ise, bu harmanlama, alt sorgulardaki sütunlara harmanlama önceliği kuralları uygulanarak türetilir.

Örnekler

-- Use number1 and number2 tables to demonstrate set operators in this page.
> CREATE TEMPORARY VIEW number1(c) AS VALUES (3), (1), (2), (2), (3), (4);

> CREATE TEMPORARY VIEW number2(c) AS VALUES (5), (1), (1), (2);

> SELECT c FROM number1 EXCEPT SELECT c FROM number2;
  3
  4

> SELECT c FROM number1 MINUS SELECT c FROM number2;
  3
  4

> SELECT c FROM number1 EXCEPT ALL (SELECT c FROM number2);
  3
  3
  4

> SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
  3
  3
  4

> (SELECT c FROM number1) INTERSECT (SELECT c FROM number2);
  1
  2

> (SELECT c FROM number1) INTERSECT DISTINCT (SELECT c FROM number2);
  1
  2

> (SELECT c FROM number1) INTERSECT ALL (SELECT c FROM number2);
  1
  2
  2

> (SELECT c FROM number1) UNION (SELECT c FROM number2);
  1
  3
  5
  4
  2

> (SELECT c FROM number1) UNION DISTINCT (SELECT c FROM number2);
  1
  3
  5
  4
  2

> SELECT c FROM number1 UNION ALL (SELECT c FROM number2);
  3
  1
  2
  2
  3
  4
  5
  1
  1
  2