Union & Union All in SAP Hana
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), в които някои стойности са общи.
Използваме оператор 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 ) |
Комбинирайте резултат от две или повече заявки без дублиране. | |
| СЪЮЗ ВСИЧКИ | МАРКИРАЙ *
ОТ ( МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 СЪЮЗ ВСИЧКИ МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2 ) ПОРЪЧКА BY ЕЛЕМЕНТ; |
Комбинирайте резултата от две или повече заявки с всички дублирани. | |
| ПРЕКРЕСТИ | МАРКИРАЙ *
ОТ ( МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 ПРЕКРЕСТИ МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2 ) ПОРЪЧКА BY ЕЛЕМЕНТ; |
Комбинирайте резултата от две или повече заявки с всички общи редове. | |
| С ИЗКЛЮЧЕНИЕ | МАРКИРАЙ *
ОТ ( МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 С ИЗКЛЮЧЕНИЕ МАРКИРАЙ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2 ) ПОРЪЧКА BY ЕЛЕМЕНТ; |
Взима изход от първата заявка и премахва ред, избран от втората заявка |





