Union & Union All in SAP Hana

SAP HANA Operator lze použít pro výpočet, porovnání hodnot nebo pro přiřazení hodnoty.

SAP HANA Operatorů

  • Unární a binární OperaTor
  • Aritmetický OperaTor
  • Řetězec Operatorů
  • Porovnání OperaTor
  • logický OperaTor
  • sada OperaTor

Unární a binární OperaTor

OperaTor Operavání Description
Unární Unární operátor se vztahuje na jeden operand Unární plus operátor(+) Unární operátor negace(-) Logická negace(NOT)
Dvojitý Binární Operator platí pro dva operandy Multiplikativní operátory ( *, / ) Aditivní operátory ( +,- ) Porovnávací operátory ( =,!=,<,>,<=,>=) Logické operátory ( AND, OR )

Aritmetický OperaTor

  • Sčítání (+)
  • Odečítání (-)
  • Násobení ( * )
  • Divize ( / )

Řetězec OperaTor

Řetězec Operator je operátor zřetězení, který kombinuje dvě položky, jako jsou řetězce, výrazy nebo konstanty, do jedné.

Dva svislé pruhy „||“ se používá jako operátor zřetězení.

Porovnání OperaTor

Operátor porovnání se používá k porovnání dvou operandů. Níže je uveden seznam srovnání Operator-

  • Rovná se ( = )
  • Větší než ( > )
  • Less Než (<)
  • Větší nebo rovno ( > = )
  • Less než nebo rovno ( < = )
  • Nerovná se (!= , <> )

logický OperaTor

V kritériích vyhledávání se používá logický operátor.

Např. WHERE podmínka1 A / OR / NOT podmínka2

Níže je seznam logických operátorů –

  • AND – (např. WHERE podmínka1 AND podmínka2)
    Pokud jsou obě podmínky podmínka 1 i podmínka 2 pravdivé, pak je podmínka kombinace pravdivá, jinak bude nepravdivá.
  • NEBO – (např. WHERE podmínka1 NEBO podmínka2)
    Pokud je podmínka 1 NEBO Podmínka 2 pravdivá, pak je kombinovaná podmínka pravdivá nebo nepravdivá, pokud jsou obě podmínky nepravdivé.
  • NOT – (např. WHERE NOT podmínka)
    NOT podmínka je pravdivá Pokud je podmínka nepravdivá.

sada Operatorů

  • UNION – Kombinuje dva nebo mnoho výběrových příkazů nebo dotazů bez duplicit.
  • UNION ALL – Kombinuje dva nebo mnoho výběrových příkazů nebo dotazů, včetně všech duplicitních řádků.
  • INTERSECT – Kombinuje dva nebo mnoho výběrových příkazů nebo dotazů a vrátí všechny běžné řádky.
  • EXCEPT – Vezme výstup z prvního dotazu a odstraní řádek vybraný druhým dotazem.

Např Mám dvě tabulky (tabulka1, tabulka2), ve kterých jsou některé hodnoty společné.

sada Operatorů v SAT HANA

Pro tyto dvě tabulky používáme operátor Set (Union, Union ALL, Intersect, kromě). SQL jak je uvedeno níže -

Vytvořte tabulku 1- SQL skript

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');

Vytvořte tabulku 2- SQL skript

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');

Pozor: Zde „DHK_SCHEMA“ je název schématu, uživatel může název schématu změnit SQL odpovídajícím způsobem.

sada Operator Příklady jsou uvedeny níže

OperaTor SQL dotaz Výstup použití
UNION SELECT *

Z

(

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE1

UNION

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE2

)
OBJEDNAT PRVKEM;

sada Operatorů

Kombinovat Výsledek dvou nebo více dotazů bez duplikátu.
UNION ALL SELECT *

Z

(

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE1

UNION ALL

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE2

)

OBJEDNAT BY ŽIVEL;

sada Operatorů

Kombinovat Výsledek dvou nebo více dotazů se všemi duplikáty.
PROSÍT SELECT *

Z

(

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE1

PROSÍT

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE2

)

OBJEDNAT BY ŽIVEL;

sada Operatorů

Kombinovat Výsledek dvou nebo více dotazů se všemi běžnými řádky.
AŽ NA SELECT *

Z

(

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE1

AŽ NA

SELECT ŽIVEL

Z DHK_SCHEMA.TABLE2

)

OBJEDNAT BY ŽIVEL;

sada Operatorů

Převezme výstup z prvního dotazu a odstraní řádek vybraný druhým dotazem