Delen via


Operators instellen

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Combineert de voorgaande subquery1 en subquery2 in één. Azure Databricks ondersteunt drie typen setoperators:

  • EXCEPT
  • INTERSECT
  • UNION

Syntaxis

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

    Twee subquery-componenten zoals opgegeven in SELECT (subselectie). Beide subquery's moeten hetzelfde aantal kolommen hebben en een minst gemeenschappelijk type voor elke respectieve kolom delen.

  • UNION [ALL | DISTINCT]

    Retourneert het resultaat van subquery1 plus de rijen van subquery2.

    Als ALL er dubbele rijen zijn opgegeven, blijven behouden.

    Als DISTINCT het resultaat is opgegeven, bevat het geen dubbele rijen. Dit is de standaardinstelling.

  • INTERSECT [ALL | DISTINCT]

    Geeft de resultaatset van rijen terug die zich in beide subquery's bevinden.

    Als ALL er een rij wordt opgegeven die meerdere keren wordt weergegeven in de subquery1 ene subquery rij, wordt meerdere keren geretourneerd.

    Als DISTINCT wordt opgegeven, bevat het resultaat geen dubbele rijen. Dit is de standaardinstelling.

  • BEHALVE [ALLE | DISTINCT ]

    Retourneert de rijen subquery1 waarin zich niet in subquery2.

    Als ALL is opgegeven, verwijdert elke rij in subquery2 exact één van mogelijk meerdere overeenkomsten uit subquery1.

    Als DISTINCT dit is opgegeven, worden dubbele rijen verwijderd subquery1 voordat de bewerking wordt toegepast, zodat alle overeenkomsten worden verwijderd en het resultaat geen dubbele rijen heeft (overeenkomend of niet-overeenkomend). Dit is de standaardinstelling.

    U kunt opgeven MINUS als een alternatief voor syntaxis voor EXCEPT.

Bij het koppelen van setbewerkingen heeft INTERSECT een hogere prioriteit dan UNION en EXCEPT.

Het type van elke resultaatkolom is het minst gangbare type van de respectieve kolommen in subquery1 en subquery2.

Als de resultaatkolom een STRING is, wordt de sortering afgeleid door de sorteringsregels toe te passen op de kolommen in de subquery's.

Voorbeelden

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