Union & Union All in SAP Hana
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é.
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 ) |
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; |
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; |
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; |
Převezme výstup z prvního dotazu a odstraní řádek vybraný druhým dotazem |