Union & Union All in SAP Hana

SAP ХАНА Operator може да се използва за изчисляване, сравнение на стойности или за присвояване на стойност.

SAP ХАНА Operaтори

  • Унарни и двоични OperaTor
  • аритметика OperaTor
  • Низ Operaтори
  • сравнение OperaTor
  • логичен OperaTor
  • комплект OperaTor

Унарни и двоични OperaTor

OperaTor OperaАЦИ Descriptйон
Унар Унарен оператор се прилага към един операнд Унарен плюс оператор (+) Унарен оператор за отрицание (-) Логическо отрицание (НЕ)
Двоен Двоичен файл Operator се прилага върху два операнда Мултипликативни оператори ( *, / ) Адитивни оператори ( +,- ) Оператори за сравнение ( =,!=,<,>,<=,>=) Логически оператори ( И, ИЛИ )

аритметика OperaTor

  • Добавяне (+)
  • изваждане (-)
  • Умножение ( * )
  • Разделяне (/)

Низ OperaTor

Низ Operator е оператор за конкатенация, който комбинира два елемента като низове, изрази или константи в един.

Две вертикални черти „||“ се използва като оператор за конкатенация.

сравнение OperaTor

Операторът за сравнение се използва за сравняване на два операнда. По-долу е даден списък със сравнение Operaтор-

  • Равно на ( = )
  • По-голямо от (>)
  • Less отколкото ( < )
  • По-голямо или равно на ( > = )
  • Less повече или равно на ( < = )
  • Не е равно (!= , <> )

логичен OperaTor

В критериите за търсене се използва логически оператор.

Например WHERE условие1 И / ИЛИ / НЕ условие2

По-долу е даден списък с логически оператори –

  • И – (напр. WHERE условие1 И условие2)
    Ако и Условие1, И Условие2 са верни, тогава условието за комбиниране е вярно, в противен случай ще бъде невярно.
  • ИЛИ – (напр. WHERE условие1 ИЛИ условие2)
    Ако Условие1 ИЛИ Условие2 е вярно, тогава комбинираното условие е вярно или невярно, ако и двете условия са неверни.
  • НЕ – (напр. условие WHERE NOT)
    Условието НЕ е вярно, ако условието е невярно.

комплект Operaтори

  • UNION – Комбинира две или много инструкции за избор или заявка без дублиране.
  • UNION ALL – Комбинира две или много инструкции за избор или заявка, включително всички дублирани редове.
  • INTERSECT – Комбинира две или много инструкции за избор или заявка и връща всички общи редове.
  • EXCEPT – Взима изхода от първата заявка и премахва реда, избран от втората заявка.

Напр Имам две таблици (table1, table2), в които някои стойности са общи.

комплект Operaторове в SAT HANA

Използваме оператор Set (Union, Union ALL, Intersect, с изключение) за тези две таблици SQL както по-долу –

Създайте 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');

Създайте 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');

Забележка: Тук „DHK_SCHEMA“ е име на схема, в което потребителят може да промени името на схемата SQL съответно.

комплект Operator Примерите са както по-долу

OperaTor SQL заявка Продукция Можете да използвате
СЪЮЗ МАРКИРАЙ *

ОТ

(

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE1

СЪЮЗ

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE2

)
ПОРЪЧКА ПО ЕЛЕМЕНТ;

комплект Operaтори

Комбинирайте резултат от две или повече заявки без дублиране.
СЪЮЗ ВСИЧКИ МАРКИРАЙ *

ОТ

(

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE1

СЪЮЗ ВСИЧКИ

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE2

)

ПОРЪЧКА BY ЕЛЕМЕНТ;

комплект Operaтори

Комбинирайте резултата от две или повече заявки с всички дублирани.
ПРЕКРЕСТИ МАРКИРАЙ *

ОТ

(

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE1

ПРЕКРЕСТИ

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE2

)

ПОРЪЧКА BY ЕЛЕМЕНТ;

комплект Operaтори

Комбинирайте резултата от две или повече заявки с всички общи редове.
С ИЗКЛЮЧЕНИЕ МАРКИРАЙ *

ОТ

(

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE1

С ИЗКЛЮЧЕНИЕ

МАРКИРАЙ ЕЛЕМЕНТ

ОТ DHK_SCHEMA.TABLE2

)

ПОРЪЧКА BY ЕЛЕМЕНТ;

комплект Operaтори

Взима изход от първата заявка и премахва ред, избран от втората заявка