Union & Union All in SAP Hana
SAP HANA OperaTors
- Unaarinen ja binäärinen OperaTor
- Aritmeettinen OperaTor
- jono OperaTors
- Vertailu OperaTor
- looginen OperaTor
- Asettaa OperaTor
Unaarinen ja binäärinen OperaTor
OperaTor | OperaTUKSEN | Tuotetiedot |
---|---|---|
Unaarinen | Unaarinen operaattori koskee yhtä operandia | Unaarinen plus-operaattori(+) Unaarinen negatiivinen operaattori(-) Looginen negaatio(EI) |
Binaarinen | Binaari Operator koskee kahta operandia | Kertaoperaattorit ( *, / ) Additiiviset operaattorit ( +,- ) Vertailuoperaattorit ( =,!=,<,>,<=,>=) Loogiset operaattorit ( JA, TAI ) |
Aritmeettinen OperaTor
- Lisäys (+)
- Vähennys (-)
- Kertominen ( * )
- Division ( / )
jono OperaTor
Nauha Operator on ketjutusoperaattori, joka yhdistää kaksi kohdetta, kuten merkkijonoja, lausekkeita tai vakioita yhdeksi.
Kaksi pystysuoraa palkkia “||” käytetään ketjutusoperaattorina.
Vertailu OperaTor
Vertailuoperaattoria käytetään kahden operandin vertaamiseen. Alla lista vertailuista Operator-
- Yhtä kuin ( = )
- Suurempi kuin ( > )
- Less Kuin ( < )
- Suurempi tai yhtä suuri kuin ( > = )
- Less kuin tai yhtä suuri kuin ( < = )
- Ei yhtä suuri (!= , <> )
looginen OperaTor
Hakuehdoissa käytetään loogista operaattoria.
Esim. WHERE ehto1 JA / TAI / EI ehto2
Alla on luettelo loogisista operaattoreista -
- JA – (esim. WHERE ehto1 AND ehto2)
Jos sekä Ehto1 että Ehto2 ovat tosi, Yhdistä ehto on tosi, muuten se on epätosi. - TAI – (esim. WHERE ehto1 TAI ehto2)
Jos ehto1 TAI ehto2 on tosi, yhdistä ehto on tosi tai epätosi, jos molemmat ehdot ovat epätosi. - EI – (esim. WHERE NOT -ehto)
EI ehto on tosi Jos ehto on epätosi.
Asettaa OperaTors
- UNIONIN – Yhdistää kaksi tai monta valittua lauseketta tai kyselyä ilman kaksoiskappaleita.
- UNION KAIKKI – Yhdistää kaksi tai monta valittua lauseketta tai kyselyä, mukaan lukien kaikki päällekkäiset rivit.
- INTERSECT – Yhdistää kaksi tai monta valittua lauseketta tai kyselyä ja palauttaa kaikki yleiset rivit.
- EXCEPT – Ottaa ensimmäisen kyselyn tulosteen ja poistaa toisen kyselyn valitseman rivin.
Esim Minulla on kaksi taulukkoa (taulukko1, taulukko2), joissa jotkut arvot ovat yhteisiä.
Käytämme Set-operaattoria (Union, Union ALL, Intersect, paitsi) näille kahdelle taulukolle SQL kuten alla -
Luo Taulukko1 - SQL-skripti
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');
Luo Taulukko2 - SQL-skripti
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');
Huomautuksia: Tässä "DHK_SCHEMA" on skeeman nimi, jossa käyttäjä voi muuttaa skeeman nimeä SQL vastaavasti.
Asettaa Operator Esimerkit ovat alla
OperaTor | SQL-kysely | ulostulo | käytät |
---|---|---|---|
UNIONIN | VALITSE *
FROM ( VALITSE ELEMENT FROM DHK_SCHEMA.TABLE1 UNIONIN VALITSE ELEMENT FROM DHK_SCHEMA.TABLE2 ) |
Yhdistä kahden tai useamman kyselyn tulos ilman kaksoiskappaletta. | |
UNIONIN KAIKKI | VALITSE *
FROM ( VALITSE ELEMENT FROM DHK_SCHEMA.TABLE1 UNIONIN KAIKKI VALITSE ELEMENT FROM DHK_SCHEMA.TABLE2 ) TILATA BY ELEMENTTI; |
Yhdistä kahden tai useamman kyselyn tulos kaikkiin kaksoiskappaleisiin. | |
RISTEKSI | VALITSE *
FROM ( VALITSE ELEMENT FROM DHK_SCHEMA.TABLE1 RISTEKSI VALITSE ELEMENT FROM DHK_SCHEMA.TABLE2 ) TILATA BY ELEMENTTI; |
Yhdistä kahden tai useamman kyselyn tulos kaikkien yleisten rivien kanssa. | |
PAITSI | VALITSE *
FROM ( VALITSE ELEMENT FROM DHK_SCHEMA.TABLE1 PAITSI VALITSE ELEMENT FROM DHK_SCHEMA.TABLE2 ) TILATA BY ELEMENTTI; |
Ottaa tulosteen ensimmäisestä kyselystä ja poistaa toisen kyselyn valitseman rivin |