Operator SAP HANA: Union & Union All

Anonim

Operator SAP HANA może służyć do obliczeń, porównywania wartości lub przypisywania wartości. SAP HANA zawiera poniżej operatorów-

Operator jednoargumentowy i binarny

Operator arytmetyczny

Operatory łańcuchowe

Operator porównania

Operator logiczny

Ustaw operator

Operator jednoargumentowy i binarny

Operator Operacja Opis
Jednoargumentowe Operator jednoargumentowy ma zastosowanie do jednego operandu Jednoargumentowy operator plus (+) Jednoargumentowy operator negacji (-) Negacja logiczna (NOT)
Dwójkowy Operator binarny stosuje się do dwóch operandów Operatory mnożenia (*, /) Operatory addytywne (+, -) Operatory porównania (=,! =, <,>, <=,> =) Operatory logiczne (AND, OR)

Operator arytmetyczny

  • Dodawanie (+)
  • Odejmowanie (-)
  • Mnożenie (*)
  • Podział ( / )

Operator łańcucha

Operator ciągu to operator konkatenacji, który łączy w jeden dwa elementy, takie jak łańcuchy, wyrażenia lub stałe.

Dwie pionowe kreski „||” jest używany jako operator konkatenacji.

Operator porównania

Operator porównania służy do porównywania dwóch operandów. Poniżej znajduje się lista operatorów porównania-

  • Równe (=)
  • Większe niż (>)
  • Mniejsze niż (<)
  • Większe lub równe (> =)
  • Mniejsze lub równe (<=)
  • Różne od (! =, <>)

Operator logiczny

W kryteriach wyszukiwania używany jest operator logiczny.

Np. GDZIE warunek1 I / LUB / NIE warunek2

Poniżej znajduje się lista operatorów logicznych -

  • AND - (np. WHERE warunek1 AND warunek2)

    Jeśli oba Warunek1 ORAZ Warunek2 są prawdziwe, wówczas warunek Połącz jest prawdziwy, w przeciwnym razie będzie fałszywy.

  • OR - (np. WHERE warunek1 OR warunek2)

    Jeśli Warunek1 LUB Warunek2 jest prawdziwy, to warunek łączenia ma wartość prawda lub fałsz, jeśli oba Warunki są fałszywe.

  • NIE - (np. Warunek GDZIE NIE)

    NIE warunek jest prawdziwy Jeśli warunek jest fałszywy.

Operatory zbioru

  • UNION - łączy dwie lub wiele instrukcji wyboru lub zapytania bez duplikatów.
  • UNION ALL - łączy dwie lub wiele instrukcji wyboru lub zapytania, w tym wszystkie zduplikowane wiersze.
  • INTERSECT - łączy dwie lub wiele instrukcji wyboru lub zapytania i zwraca wszystkie typowe wiersze.
  • EXCEPT - pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany przez drugie zapytanie.

Na przykład

Mam dwie tabele (table1, table2), w których niektóre wartości są wspólne.

Używamy operatora Set (Union, Union ALL, Intersect, z wyjątkiem) dla tych dwóch tabel w SQL, jak poniżej -

Utwórz skrypt 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');

Utwórz skrypt 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');

Uwaga : Tutaj „DHK_SCHEMA” jest nazwą schematu, użytkownik może odpowiednio zmienić nazwę schematu w SQL.

Przykłady ustawionych operatorów są jak poniżej -

Operator Zapytanie SQL Wynik Używa
UNIA SELECT * FROM (SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 UNION SELECT ELEMENT FROM DHK_SCHEMA.TABLE2 ) ORDER BY ELEMENT;

Połącz Wynik dwóch lub więcej zapytań bez duplikatu.
UNIA WSZYSTKIE SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 UNION ALL SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Połącz wynik dwóch lub więcej zapytań ze wszystkimi duplikatami.
KRZYŻOWAĆ SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 INTERSECT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Połącz wynik dwóch lub więcej zapytań ze wszystkimi typowymi wierszami.
Z WYJĄTKIEM SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 EXCEPT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany przez drugie zapytanie