Оператор на SAP HANA: Union & Съюз на всички

Anonim

Операторът SAP HANA може да се използва за изчисляване, сравняване на стойности или за присвояване на стойност. SAP HANA Съдържат оператори по-долу

Унарни и двоичен оператор

Аритметичен оператор

Низови оператори

Сравнителен оператор

Логически оператор

Задайте оператор

Унарни и двоичен оператор

Оператор Операция Описание
Унар Унарният оператор се прилага за един операнд Одинарен плюс оператор (+) Одинарен отрицателен оператор (-) Логическо отрицание (НЕ)
Двоична Двоичен оператор се прилага за два операнда Мултипликативни оператори (*, /) Адитивни оператори (+, -) Оператори за сравнение (=,! =, <,>, <=,> =) Логически оператори (И, ИЛИ)

Аритметичен оператор

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

Струнен оператор

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

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

Сравнителен оператор

Сравнителният оператор се използва за сравняване на два операнда. По-долу са изброени операторите за сравнение -

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

Логически оператор

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

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

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

  • И - (напр. WHERE условие1 И условие2)

    Ако и условието1, и условието2 са верни, тогава условието за комбиниране е вярно, иначе ще се обърка

  • ИЛИ - (напр. WHERE условие1 ИЛИ условие2)

    Ако Условие1 ИЛИ Условие2 е вярно, тогава условието за комбиниране е вярно или невярно, ако и двете условия са неверни.

  • NOT - (напр. WHERE NOT условие)

    Условието НЕ е вярно, ако условието е невярно.

Задайте оператори

  • СЪЮЗ - Комбинира две или много избрани инструкции или заявка без дубликат.
  • UNION ALL - Комбинира две или много команди за избор или заявка, включително всички дублирани редове.
  • INTERSECT - Комбинира две или много команди за избор или заявка и връща всички общи редове.
  • ОСВЕН - Взима изхода от първата заявка и премахва реда, избран от втората заявка.

Напр

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

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

Създаване на таблица1 - SQL скрипт

СЪЗДАВАНЕ НА ТАБЛИЦА НА КОЛОНАТА DHK_SCHEMA.TABLE1(ELEMENT CHAR (1),ОСНОВЕН КЛЮЧ (ЕЛЕМЕНТ));ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('P');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('Q');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 VALUES ('R');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('S');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE1 СТОЙНОСТИ ('T');

Създаване на таблица2 - SQL скрипт

СЪЗДАВАНЕ НА ТАБЛИЦА НА КОЛОНАТА DHK_SCHEMA.TABLE2(ELEMENT CHAR (1),ОСНОВЕН КЛЮЧ (ЕЛЕМЕНТ));ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('S');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('T');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ („U“);ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ ('V');ВЪВЕДЕТЕ В DHK_SCHEMA.TABLE2 СТОЙНОСТИ („W“);

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

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

Оператор SQL заявка Изход Използва
СЪЮЗ ИЗБЕРЕТЕ * ОТ (ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 UNION ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2 ) ПОРЪЧКА ПО ЕЛЕМЕНТ;

Комбинирайте резултата от две или повече заявки без дубликат.
СЪЮЗ ВСИЧКИ ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 UNION ВСИЧКИ ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ;

Комбинирайте резултата от две или повече заявки с всички дубликати.
ПРЕКРЕСТИ ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 INTERSECT ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ;

Комбинирайте резултата от две или повече заявки с всички често срещани редове.
С ИЗКЛЮЧЕНИЕ ИЗБЕРЕТЕ * ОТ ( ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE1 С изключение на ИЗБЕРЕТЕ ЕЛЕМЕНТ ОТ DHK_SCHEMA.TABLE2) ПОРЪЧКА ПО ЕЛЕМЕНТ;

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