Union & Union All in SAP Hana
SAP HANA Operatorer
- Unær og binær OperaTor
- Aritmetik OperaTor
- String Operatorer
- Sammenligning OperaTor
- Logisk OperaTor
- sæt OperaTor
Unær og binær OperaTor
OperaTor | Produktion | Description |
---|---|---|
Unær | En unær operator gælder for én operand | Unær plus operator(+) Unær negationsoperator(-) Logisk negation(NOT) |
Binary | En binær Operator gælder på to operander | Multiplikative operatorer ( *, / ) Additive operatorer ( +,- ) Sammenligningsoperatorer ( =,!=,<,>,<=,>=) Logiske operatorer ( AND, OR ) |
Aritmetik OperaTor
- Tilføjelse (+)
- Subtraktion (-)
- Multiplikation ( * )
- Division ( / )
String OperaTor
En streng Operator er en sammenkædningsoperator, der kombinerer to elementer såsom strenge, udtryk eller konstanter til én.
To lodrette streger "||" bruges som sammenkædningsoperator.
Sammenligning OperaTor
Sammenligningsoperator bruges til at sammenligne to operander. Nedenfor er en liste over sammenligninger Operator-
- Lige til ( = )
- Større end ( > )
- Less end (<)
- Større end eller lig med ( > = )
- Less end eller lig med ( < = )
- Ikke ens (!= , <> )
Logisk OperaTor
Logisk operator bruges i søgekriterier.
Fx HVOR betingelse1 OG / ELLER / IKKE betingelse2
Nedenfor er en liste over logiske operatorer -
- OG – (f.eks. WHERE betingelse1 OG betingelse2)
Hvis både Betingelse1 OG Betingelse2 er sande, er Kombiner-betingelsen sand, ellers vil den være falsk. - ELLER – (f.eks. WHERE betingelse1 ELLER betingelse2)
Hvis Betingelse1 ELLER Betingelse2 er sand, så er kombinationsbetingelsen sand eller falsk, hvis begge Betingelser er falske. - NOT – (f.eks. WHERE NOT-tilstand)
NOT-betingelsen er sand, hvis betingelsen er falsk.
sæt Operatorer
- UNION – Kombinerer to eller mange udvalgte sætninger eller forespørgsler uden duplikat.
- UNION ALL – Kombinerer to eller mange udvalgte sætninger eller forespørgsler, inklusive alle duplikerede rækker.
- INTERSECT – Kombinerer to eller mange udvalgte sætninger eller forespørgsler og returnerer alle almindelige rækker.
- UNDTAGET – Tager output fra den første forespørgsel og fjerner række valgt af den anden forespørgsel.
F.eks Jeg har to tabeller (tabel1, tabel2), hvor nogle værdier er fælles.
Vi bruger Set-operator (Union, Union ALL, Intersect, undtagen) til disse to tabeller i SQL som nedenfor -
Opret tabel1- SQL-script
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');
Opret tabel2- SQL-script
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');
Bemærk: Her er “DHK_SCHEMA” et skemanavn, brugeren kan ændre skemanavnet i SQL derfor.
sæt OperaEksempler er som nedenfor
OperaTor | SQL-forespørgsel | Produktion | Du bruger |
---|---|---|---|
UNION | SELECT *
FRA ( SELECT ELEMENT FRA DHK_SCHEMA.TABEL1 UNION SELECT ELEMENT FRA DHK_SCHEMA.TABEL2 ) |
Kombiner resultat af to eller flere forespørgsler uden duplikat. | |
UNION ALLE | SELECT *
FRA ( SELECT ELEMENT FRA DHK_SCHEMA.TABEL1 UNION ALLE SELECT ELEMENT FRA DHK_SCHEMA.TABEL2 ) BESTILLE BY ELEMENT; |
Kombiner resultatet af to eller flere forespørgsler med alle duplikater. | |
KRYDSE | SELECT *
FRA ( SELECT ELEMENT FRA DHK_SCHEMA.TABEL1 KRYDSE SELECT ELEMENT FRA DHK_SCHEMA.TABEL2 ) BESTILLE BY ELEMENT; |
Kombiner resultatet af to eller flere forespørgsler med alle almindelige rækker. | |
UNDTAGEN | SELECT *
FRA ( SELECT ELEMENT FRA DHK_SCHEMA.TABEL1 UNDTAGEN SELECT ELEMENT FRA DHK_SCHEMA.TABEL2 ) BESTILLE BY ELEMENT; |
Tager output fra første forespørgsel og fjerner række valgt af den anden forespørgsel |