Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Kombinuje předchozí subquery1 a subquery2 do jednoho. Azure Databricks podporuje tři typy operátorů sady:
EXCEPTINTERSECTUNION
Syntaxe
{ UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] subquery2 } [...]
-
Jakékoli dvě
subqueryklauzule uvedené v SELECT (dílčí výběr). Oba poddotazy musí mít stejný počet sloupců a pro každý sloupec musí sdílet nejméně společný typ. UNION [ALL | DISTINCT]
Vrátí výsledek
subquery1plus řádkysubquery2.Pokud
ALLjsou zadány duplicitní řádky jsou zachovány.Pokud
DISTINCTje zadán výsledek neobsahuje žádné duplicitní řádky. Tato možnost je výchozí.INTERSECT [ALL | DISTINCT]
Vrátí sadu řádků, které jsou v obou poddotazech.
Pokud
ALLje zadán řádek, který se zobrazí vícekrát vsubquery1i vsubquerypřípadě, že se vrátí vícekrát.Pokud
DISTINCTje zadán výsledek neobsahuje duplicitní řádky. Tato možnost je výchozí.KROMĚ [VŠE | DISTINCT ]
Vrátí řádky, ve
subquery1kterých nejsousubquery2.Pokud je zadán
ALL, každý řádek vsubquery2odebere zsubquery1přesně jednu z více shod .Pokud
DISTINCTje zadáno, duplicitní řádky se předsubquery1použitím operace odeberou, takže všechny shody se odeberou a výsledek nebude obsahovat žádné duplicitní řádky (odpovídající nebo chybějící). Tato možnost je výchozí.Můžete zadat
MINUSjako alternativu syntaxe proEXCEPT.
Při řetězení operací s množinami má INTERSECT vyšší prioritu než UNION a EXCEPT.
Typ každého výsledného sloupce je nejmenší společný typ příslušných sloupců v subquery1 a subquery2.
Pokud je výsledný sloupec STRING, jeho soustava je odvozena použitím pravidel priority soustavy na sloupce v poddotazích.
Příklady
-- 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