Union & Union All in SAP Hana

SAP HANA Operator kan bruges til beregning, værdisammenligning eller til at tildele værdi.

SAP HANA Operatorer

  • Unær og binær OperaTor
  • Aritmetik OperaTor
  • String Operatorer
  • Sammenligning OperaTor
  • Logisk OperaTor
  • sæt OperaTor

Unær og binær OperaTor

OperaTor Produktion Description
Unær En unær operator gælder for én operand Unær plus operator(+) Unær negationsoperator(-) Logisk negation(NOT)
Binary En binær Operator gælder på to operander Multiplikative operatorer ( *, / ) Additive operatorer ( +,- ) Sammenligningsoperatorer ( =,!=,<,>,<=,>=) Logiske operatorer ( AND, OR )

Aritmetik OperaTor

  • Tilføjelse (+)
  • Subtraktion (-)
  • Multiplikation ( * )
  • Division ( / )

String OperaTor

En streng Operator er en sammenkædningsoperator, der kombinerer to elementer såsom strenge, udtryk eller konstanter til én.

To lodrette streger "||" bruges som sammenkædningsoperator.

Sammenligning OperaTor

Sammenligningsoperator bruges til at sammenligne to operander. Nedenfor er en liste over sammenligninger Operator-

  • Lige til ( = )
  • Større end ( > )
  • Less end (<)
  • Større end eller lig med ( > = )
  • Less end eller lig med ( < = )
  • Ikke ens (!= , <> )

Logisk OperaTor

Logisk operator bruges i søgekriterier.

Fx HVOR betingelse1 OG / ELLER / IKKE betingelse2

Nedenfor er en liste over logiske operatorer -

  • OG – (f.eks. WHERE betingelse1 OG betingelse2)
    Hvis både Betingelse1 OG Betingelse2 er sande, er Kombiner-betingelsen sand, ellers vil den være falsk.
  • ELLER – (f.eks. WHERE betingelse1 ELLER betingelse2)
    Hvis Betingelse1 ELLER Betingelse2 er sand, så er kombinationsbetingelsen sand eller falsk, hvis begge Betingelser er falske.
  • NOT – (f.eks. WHERE NOT-tilstand)
    NOT-betingelsen er sand, hvis betingelsen er falsk.

sæt Operatorer

  • UNION – Kombinerer to eller mange udvalgte sætninger eller forespørgsler uden duplikat.
  • UNION ALL – Kombinerer to eller mange udvalgte sætninger eller forespørgsler, inklusive alle duplikerede rækker.
  • INTERSECT – Kombinerer to eller mange udvalgte sætninger eller forespørgsler og returnerer alle almindelige rækker.
  • UNDTAGET – Tager output fra den første forespørgsel og fjerner række valgt af den anden forespørgsel.

F.eks Jeg har to tabeller (tabel1, tabel2), hvor nogle værdier er fælles.

sæt Operators i SAT HANA

Vi bruger Set-operator (Union, Union ALL, Intersect, undtagen) til disse to tabeller i SQL som nedenfor -

Opret tabel1- SQL-script

CREATE	 COLUMN TABLE DHK_SCHEMA.TABLE1
(        ELEMENT CHAR(1),			
       PRIMARY KEY (ELEMENT)
);			
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('P');
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('Q');			
INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('R');			
INSERT	INTO DHK_SCHEMA.TABLE1 VALUES ('S');			
INSERT	INTO DHK_SCHEMA.TABLE1 VALUES ('T');

Opret tabel2- SQL-script

CREATE	COLUMN TABLE DHK_SCHEMA.TABLE2
(        ELEMENT CHAR(1),			
       PRIMARY KEY (ELEMENT)
);			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('S');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('T');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('U');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('V');			
INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('W');

Bemærk: Her er “DHK_SCHEMA” et skemanavn, brugeren kan ændre skemanavnet i SQL derfor.

sæt OperaEksempler er som nedenfor

OperaTor SQL-forespørgsel Produktion Du bruger
UNION SELECT *

FRA

(

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL1

UNION

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL2

)
BESTILLE VED ELEMENT;

sæt Operatorer

Kombiner resultat af to eller flere forespørgsler uden duplikat.
UNION ALLE SELECT *

FRA

(

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL1

UNION ALLE

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL2

)

BESTILLE BY ELEMENT;

sæt Operatorer

Kombiner resultatet af to eller flere forespørgsler med alle duplikater.
KRYDSE SELECT *

FRA

(

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL1

KRYDSE

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL2

)

BESTILLE BY ELEMENT;

sæt Operatorer

Kombiner resultatet af to eller flere forespørgsler med alle almindelige rækker.
UNDTAGEN SELECT *

FRA

(

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL1

UNDTAGEN

SELECT ELEMENT

FRA DHK_SCHEMA.TABEL2

)

BESTILLE BY ELEMENT;

sæt Operatorer

Tager output fra første forespørgsel og fjerner række valgt af den anden forespørgsel