Megosztás a következőn keresztül:


Operátorok beállítása

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Egyesíti az előző subquery1 és subquery2 egyetlen egybe. Az Azure Databricks háromféle halmaz-operátort támogat:

  • EXCEPT
  • INTERSECT
  • UNION

Syntax

{ UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] subquery2 } [...]
  • subquery2

    Bármely két subquery záradék, amint azt a(z) SELECT (alválasztás)meghatározza. Mindkét al lekérdezésnek azonos számú oszlopmal kell rendelkeznie, és az egyes oszlopokhoz legalább közös típussal kell rendelkeznie.

  • UNION [ÖSSZES | KÜLÖNBÖZŐ]

    A subquery1 és a subquery2sorainak eredményét adja eredményül.

    Ha ALL a megadott ismétlődő sorok megmaradnak.

    Ha DISTINCT meg van adva, az eredmény nem tartalmaz ismétlődő sorokat. Ez az alapértelmezett beállítás.

  • INTERSECT [ALL | DISTINCT]

    A két al lekérdezésben lévő sorok halmazát adja vissza.

    Ha ALL meg van adva egy sor, amely többször jelenik meg a sorban és a subquery1 beben subquery is, a rendszer többször is visszaadja.

    Ha DISTINCT meg van adva, az eredmény nem tartalmaz ismétlődő sorokat. Ez az alapértelmezett beállítás.

  • KIVÉVE [MIND | DISTINCT ]

    Azokat a sorokat adja vissza, amelyekben subquery1 nincsenek megadva subquery2.

    Ha a ALL meg van adva, a subquery2 minden sora pontosan egyet távolít el a subquery1esetleges több egyezése közül.

    Ha DISTINCT meg van adva, a művelet alkalmazása előtt a program eltávolítja subquery1 az ismétlődő sorokat, így az összes egyezés el lesz távolítva, és az eredmény nem lesz ismétlődő sorokkal (egyező vagy nem egyező). Ez az alapértelmezett beállítás.

    Szintaxis alternatívaként megadható MINUS a következőhöz EXCEPT: .

A INTERSECT műveletláncolása nagyobb elsőbbséget élvez, mint a UNION-é és a EXCEPT-é.

Az egyes eredményoszlopok típusa a subquery1 és subquery2megfelelő oszlopainak legkevésbé gyakori típusa.

Ha az eredményoszlop egy STRING, akkor a rendezés a rendezési elsőbbségi szabályok szerinti alkalmazásával az allekérdezések oszlopaira van meghatározva.

Példák

-- 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