Prevádzkovateľ SAP HANA: Union & Union All

Anonim

Operátor SAP HANA možno použiť na výpočet, porovnanie hodnôt alebo na priradenie hodnoty. SAP HANA obsahuje nižšie operátorov-

Unárny a binárny operátor

Aritmetický operátor

Prevádzkovatelia reťazcov

Operátor porovnania

Logický operátor

Nastaviť operátora

Unárny a binárny operátor

Prevádzkovateľ Prevádzka Popis
Unárny Unárny operátor sa vzťahuje na jedného operandu Unárny operátor plus (+) Unárny operátor negácie (-) Logická negácia (NIE)
Binárne Binárny operátor platí pre dva operandy Multiplikatívne operátory (*, /) Aditívne operátory (+, -) Porovnávacie operátory (=,! =, <,>, <=,> =) Logické operátory (AND, OR)

Aritmetický operátor

  • Sčítanie (+)
  • Odčítanie (-)
  • Násobenie (*)
  • Divízia (/)

Sláčikový operátor

String Operator je operátor zreťazenia, ktorý kombinuje dve položky, ako sú reťazce, výrazy alebo konštanty, do jednej.

Dva zvislé pruhy „||“ sa používa ako operátor zreťazenia.

Operátor porovnania

Operátor porovnania sa používa na porovnanie dvoch operandov. Nižšie je uvedený zoznam operátorov porovnania

  • Rovné sa (=)
  • Väčšie ako (>)
  • Menej ako (<)
  • Väčšie alebo rovné (> =)
  • Menej alebo rovné (<=)
  • Nerovné (! =, <>)

Logický operátor

Pri kritériách vyhľadávania sa používa logický operátor.

Napr. KDE podmienka1 A / ALEBO NIE podmienka2

Nižšie je uvedený zoznam logických operátorov -

  • AND - (napr. KDE podmienka1 a podmienka2)

    Ak sú obidve Podmienky1 A Podmienky2 pravdivé, potom je Kombinovaná podmienka pravdivá, inak bude nepravdivá.

  • ALEBO - (napr. KDE podmienka1 ALEBO podmienka2)

    Ak je Podmienka1 ALEBO Podmienka2 pravdivá, potom skombinujte podmienku na true alebo false, ak sú obidve Podmienky nepravdivé.

  • NIE - (napr. KDE NIE je podmienka)

    Podmienka NIE je pravdivá Ak je Podmienka nepravdivá.

Nastaviť operátorov

  • UNION - Kombinuje dva alebo veľa vybraných príkazov alebo dotazov bez duplikátov.
  • UNION ALL - Kombinuje dva alebo veľa vybraných príkazov alebo dotazov, vrátane všetkých duplicitných riadkov.
  • INTERSECT - Kombinuje dva alebo veľa výberových príkazov alebo dotazov a vráti všetky bežné riadky.
  • EXCEPT - Vezme výstup z prvého dotazu a odstráni riadok vybraný druhým dotazom.

Napr

Mám dve tabuľky (table1, table2), v ktorých sú niektoré hodnoty bežné.

Pre tieto dve tabuľky v SQL používame operátor Set (Union, Union ALL, Intersect, s výnimkou) - ako je uvedené nižšie -

Vytvorte skript Table1 - SQL

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

Vytvorte skript Table2- SQL

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

Poznámka : Tu „DHK_SCHEMA“ je názov schémy, používateľ môže zodpovedajúcim spôsobom zmeniť názov schémy v SQL.

Príklady operátora súpravy sú uvedené nižšie -

Prevádzkovateľ SQL dotaz Výkon Používa
ÚNIA SELECT * FROM (SELECT PRVOK Z DHK_SCHEMA.TABLE1 UNION SELECT PRVOK FROM DHK_SCHEMA.TABLE2 ) uložil element;

Spojte výsledok dvoch alebo viacerých dotazov bez duplikátov.
VŠETKO ÚNIA SELECT * FROM ( SELECT PRVOK Z DHK_SCHEMA.TABLE1 UNION ALL SELECT PRVOK FROM DHK_SCHEMA.TABLE2) ORDER BY prvok;

Spojte výsledok dvoch alebo viacerých dotazov so všetkými duplikátmi.
PRIŤAŽTE sa SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 INTERSECT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) OBJEDNAŤ PODĽA PRVKU;

Spojte výsledok dvoch alebo viacerých dotazov so všetkými bežnými riadkami.
S VÝNIMKOU SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 EXCEPT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) OBJEDNAŤ PODĽA PRVKU;

Vezme výstup z prvého dotazu a odstráni riadok vybraný druhým dotazom