Union & Union All in SAP Hana
SAP HANNA Operatorer
- Unær og binær Operator
- Aritmetisk Operator
- String Operatorer
- Sammenligning Operator
- logisk Operator
- Sett Operator
Unær og binær Operator
Operator | Operasjon | Tekniske beskrivelser |
---|---|---|
Unær | En unær-operator gjelder for én operand | Unær plussoperator(+) Unær negasjonsoperator(-) Logisk negasjon(NOT) |
Binary | En binær Operator gjelder på to operander | Multiplikative operatorer ( *, / ) Additive operatorer ( +,- ) Sammenligningsoperatorer ( =,!=,<,>,<=,>=) Logiske operatorer ( AND, OR ) |
Aritmetisk Operator
- Tillegg (+)
- Subtraksjon (-)
- Multiplikasjon ( * )
- Divisjon ( / )
String Operator
En streng Operator er en sammenkoblingsoperator som kombinerer to elementer som strenger, uttrykk eller konstanter til ett.
To vertikale streker «||» brukes som sammenkoblingsoperatør.
Sammenligning Operator
Sammenligningsoperator brukes til å sammenligne to operander. Nedenfor er en liste over sammenligninger Operator-
- Lik ( = )
- Større enn ( > )
- Less Enn (<)
- Større enn eller lik ( > = )
- Less enn eller lik ( < = )
- Ikke lik (!= , <> )
logisk Operator
Logisk operator brukes i søkekriterier.
F.eks. HVOR tilstand1 OG / ELLER / IKKE tilstand2
Nedenfor er en liste over logiske operatorer -
- OG – (f.eks. WHERE betingelse1 OG tilstand2)
Hvis både Condition1 OG Condition2 er sanne, er Kombiner-betingelsen sann, ellers vil den være usann. - ELLER – (f.eks. WHERE condition1 OR condition2)
Hvis betingelse1 ELLER betingelse2 er sann, er kombineringsbetingelsen sann eller usann hvis begge betingelsene er usann. - IKKE – (f.eks. WHERE NOT-tilstand)
NOT-betingelsen er sann Hvis betingelsen er usann.
Sett Operatorer
- UNION – Kombinerer to eller mange utvalgte setninger eller spørringer uten duplikat.
- UNION ALL – Kombinerer to eller mange utvalgte setninger eller spørringer, inkludert alle dupliserte rader.
- INTERSECT – Kombinerer to eller mange utvalgte setninger eller spørringer, og returnerer alle vanlige rader.
- UNNTATT – Tar utdata fra den første spørringen og fjerner rad valgt av den andre spørringen.
Eg Jeg har to tabeller (tabell1, tabell2) der noen verdier er vanlige.
Vi bruker Set-operator (Union, Union ALL, Intersect, unntatt) for disse to tabellene i SQL som nedenfor -
Lag tabell 1- SQL-skript
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');
Lag tabell 2- SQL-skript
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');
Merknader: Her er "DHK_SCHEMA" et skjemanavn, brukeren kan endre skjemanavn i SQL tilsvarende.
Sett OperaEksempler er som nedenfor
Operator | SQL Query | Produksjon | Bruker |
---|---|---|---|
UNION | VELG *
FRA ( VELG ELEMENT FRA DHK_SCHEMA.TABLE1 UNION VELG ELEMENT FRA DHK_SCHEMA.TABLE2 ) |
Kombiner Resultat av to eller flere spørringer uten duplikat. | |
UNION ALLE | VELG *
FRA ( VELG ELEMENT FRA DHK_SCHEMA.TABLE1 UNION ALLE VELG ELEMENT FRA DHK_SCHEMA.TABLE2 ) REKKEFØLGE BY ELEMENT; |
Kombiner resultatet av to eller flere spørringer med alle duplikater. | |
KRYSSE | VELG *
FRA ( VELG ELEMENT FRA DHK_SCHEMA.TABLE1 KRYSSE VELG ELEMENT FRA DHK_SCHEMA.TABLE2 ) REKKEFØLGE BY ELEMENT; |
Kombiner resultatet av to eller flere spørringer med alle vanlige rader. | |
UNNTATT | VELG *
FRA ( VELG ELEMENT FRA DHK_SCHEMA.TABLE1 UNNTATT VELG ELEMENT FRA DHK_SCHEMA.TABLE2 ) REKKEFØLGE BY ELEMENT; |
Tar utdata fra første spørring og fjerner rad valgt av den andre spørringen |