Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Egyesíti az előző subquery1 és subquery2 egyetlen egybe. Azure Databricks három típust támogat:
EXCEPTINTERSECTUNION
Syntax
{ UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] subquery2 } [...]
-
Bármely két
subqueryzá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. Ha az oszlopok száma eltér, Azure Databricks NUM_COLUMNS_MISMATCH. Ha a megfelelő oszlopok nem kompatibilis típusok, Azure Databricks INCOMPATIBLE_COLUMN_TYPE. UNION [ÖSSZES | KÜLÖNBÖZŐ]
A
subquery1és asubquery2sorainak eredményét adja eredményül.Ha
ALLa megadott ismétlődő sorok megmaradnak.Ha
DISTINCTmeg 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
ALLmeg van adva egy sor, amely többször jelenik meg a sorban és asubquery1bebensubqueryis, a rendszer többször is visszaadja.Ha
DISTINCTmeg 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
subquery1nincsenek megadvasubquery2.Ha a
ALLmeg van adva, asubquery2minden sora pontosan egyet távolít el asubquery1esetleges több egyezése közül.Ha
DISTINCTmeg van adva, a művelet alkalmazása előtt a program eltávolítjasubquery1az 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ó
MINUSa következőhözEXCEPT: .
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.
Gyakori hibafeltételek
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
-- Different number of columns.
> SELECT c FROM number1 UNION SELECT c, c FROM number2;
Error: NUM_COLUMNS_MISMATCH