Unia i Unia Wszystko w SAP Hana
SAP HANA Operatorsy
- Jednoargumentowy i binarny OperaTor
- Arytmetyka OperaTor
- sznur Operatorsy
- Porównanie OperaTor
- logiczny OperaTor
- Zestaw OperaTor
Jednoargumentowy i binarny OperaTor
OperaTor | Operacja | Opisy Konstrukcyjne |
---|---|---|
Jednoargumentowe | Operator unarny dotyczy jednego operandu | Operator unarny plus (+) Operator unarny negacji (-) Negacja logiczna (NOT) |
Binarna | Binarny Operator dotyczy dwóch operandów | Operatory mnożenia ( *, / ) Operatory addytywne ( +,- ) Operatory porównania ( =,!=,<,>,<=,>=) Operatory logiczne ( AND, OR ) |
Arytmetyka OperaTor
- Dodatek (+)
- Odejmowanie (-)
- Mnożenie ( * )
- Dział ( / )
sznur OperaTor
Ciąg Operator jest operatorem konkatenacji, który łączy dwa elementy, takie jak ciągi znaków, wyrażenia lub stałe, w jeden.
Jako operator łączenia użyto dwóch pionowych kresek „||”.
Porównanie OperaTor
Operator porównania jest używany do porównywania dwóch operandów. Poniżej znajduje się lista operatorów porównania Operasłup-
- Równy ( = )
- Większe niż ( > )
- Less Niż ( < )
- Większy lub równy ( > = )
- Less niż lub równy ( < = )
- Nierówne (!= , <> )
logiczny OperaTor
W kryteriach wyszukiwania używany jest operator logiczny.
Np. WHERE warunek1 ORAZ / LUB / NIE warunek2
Poniżej znajduje się lista operatorów logicznych –
- AND – (np. WHERE warunek1 ORAZ warunek2)
Jeśli zarówno Warunek 1, jak i Warunek 2 są prawdziwe, wówczas warunek Połącz jest prawdziwy, w przeciwnym razie będzie fałszywy. - LUB – (np. WHERE warunek1 OR warunek2)
Jeśli Warunek 1 LUB Warunek 2 jest prawdziwy, wówczas warunek połączenia jest prawdziwy lub fałszywy, jeśli oba warunki są fałszywe. - NIE – (np. warunek GDZIE NIE)
Warunek NIE jest prawdziwy Jeśli warunek jest fałszywy.
Zestaw Operatorsy
- UNIA – łączy dwie lub wiele instrukcji wyboru lub zapytania bez duplikatów.
- UNION ALL – łączy dwie lub wiele instrukcji wybierających lub zapytań, włączając wszystkie zduplikowane wiersze.
- INTERSECT – łączy dwie lub wiele instrukcji wyboru lub zapytania i zwraca wszystkie wspólne wiersze.
- EXCEPT – pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany w drugim zapytaniu.
Na przykład Mam dwie tabele (tabela1, tabela2), w których niektóre wartości są wspólne.
W przypadku tych dwóch tabel używamy operatora Set (Union, Union ALL, Intersect, except) SQL jak poniżej -
Utwórz tabelę 1 – skrypt 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 tabelę 2 – skrypt 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');
Note: Tutaj „DHK_SCHEMA” to nazwa schematu, w której użytkownik może zmienić nazwę schematu SQL odpowiednio.
Zestaw Operator Przykłady są jak poniżej
OperaTor | Zapytanie SQL | Wydajność | Używa |
---|---|---|---|
UNION | SELECT *
OD ( SELECT ELEMENT OD DHK_SCHEMA.TABLE1 UNION SELECT ELEMENT OD DHK_SCHEMA.TABLE2 ) |
Połącz wynik dwóch lub więcej zapytań bez duplikatów. | |
UNIA WSZYSTKIE | SELECT *
OD ( SELECT ELEMENT OD DHK_SCHEMA.TABLE1 UNIA WSZYSTKIE SELECT ELEMENT OD DHK_SCHEMA.TABLE2 ) ZAMÓWIENIE BY ELEMENT; |
Połącz wynik dwóch lub więcej zapytań ze wszystkimi duplikatami. | |
KRZYŻOWAĆ | SELECT *
OD ( SELECT ELEMENT OD DHK_SCHEMA.TABLE1 KRZYŻOWAĆ SELECT ELEMENT OD DHK_SCHEMA.TABLE2 ) ZAMÓWIENIE BY ELEMENT; |
Połącz wynik dwóch lub więcej zapytań ze wszystkimi wspólnymi wierszami. | |
Z WYJĄTKIEM | SELECT *
OD ( SELECT ELEMENT OD DHK_SCHEMA.TABLE1 Z WYJĄTKIEM SELECT ELEMENT OD DHK_SCHEMA.TABLE2 ) ZAMÓWIENIE BY ELEMENT; |
Pobiera dane wyjściowe z pierwszego zapytania i usuwa wiersz wybrany przez drugie zapytanie |