Union & Union All in SAP Hana

SAP-HANA 연산자는 계산, 값 비교 또는 값 할당에 사용할 수 있습니다.

SAP HANA 운영자

  • 단항 및 이항 연산자
  • 산술 연산자
  • 문자열 연산자
  • 비교 연산자
  • 논리 연산자
  • 연산자 설정

단항 및 이항 연산자

운영자 조작 상품 설명
단항 단항 연산자는 하나의 피연산자에 적용됩니다. 단항 더하기 연산자(+) 단항 부정 연산자(-) 논리 부정(NOT)
이진 이항 연산자는 두 개의 피연산자에 적용됩니다. 곱셈 연산자( *, / ) 덧셈 연산자( +,- ) 비교 연산자( =,!=,<,>,<=,>=) 논리 연산자( AND, OR )

산술 연산자

  • 덧셈(+)
  • 빼기(-)
  • 곱셈( * )
  • 분할 ( / )

문자열 연산자

문자열 연산자는 문자열, 표현식 또는 상수와 같은 두 항목을 하나로 결합하는 연결 연산자입니다.

두 개의 수직 막대 "||" 연결 연산자로 사용됩니다.

비교 연산자

비교 연산자는 두 피연산자를 비교하는 데 사용됩니다. 다음은 비교 연산자 목록입니다.

  • ( = )와 같음
  • 보다 큼( > )
  • 보다 작음( < )
  • 이상 ( > = )
  • ( < = )보다 작거나 같음
  • 같지 않음(!= , <> )

논리 연산자

검색 기준에 논리 연산자가 사용됩니다.

예: WHERE 조건1 AND / OR / NOT 조건2

아래는 논리 연산자 목록입니다 –

  • AND – (예: WHERE 조건1 AND 조건2)
    조건1과 조건2가 모두 참이면 결합 조건은 참이고 그렇지 않으면 거짓이 됩니다.
  • OR – (예: WHERE 조건1 OR 조건2)
    Condition1 OR Condition2가 true인 경우 결합 조건은 true이거나 두 조건이 모두 false인 경우 false입니다.
  • NOT – (예: WHERE NOT 조건)
    NOT 조건이 true인 경우 조건이 false인 경우입니다.

집합 연산자

  • UNION – 두 개 이상의 select 문 또는 쿼리를 중복 없이 결합합니다.
  • UNION ALL – 모든 중복 행을 포함하여 두 개 이상의 선택 문 또는 쿼리를 결합합니다.
  • INTERSECT – 두 개 이상의 select 문이나 쿼리를 결합하고 모든 공통 행을 반환합니다.
  • EXCEPT – 첫 번째 쿼리의 출력을 가져오고 두 번째 쿼리에서 선택한 행을 제거합니다.

예 : 일부 값이 공통된 두 개의 테이블(table1, table2)이 있습니다.

SAT HANA의 집합 연산자

우리는 이 두 테이블에 대해 집합 연산자(Union, Union ALL, Intersect, Except)를 사용합니다. SQL 아래 -

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');

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');

주의 사항: 여기서 "DHK_SCHEMA"는 스키마 이름이며, 사용자는 스키마 이름을 변경할 수 있습니다. SQL 따라서.

집합 연산자의 예는 다음과 같습니다

운영자 SQL 쿼리 산출 사용
UNION SELECT *

FROM

(

SELECT 요소라는

FROM DHK_SCHEMA.TABLE1

UNION

SELECT 요소라는

FROM DHK_SCHEMA.TABLE2

)
주문 요소별;

집합 연산자

두 개 이상의 쿼리 결과를 중복 없이 결합합니다.
UNION ALL SELECT *

FROM

(

SELECT 요소라는

FROM DHK_SCHEMA.TABLE1

UNION ALL

SELECT 요소라는

FROM DHK_SCHEMA.TABLE2

)

주문 BY 요소;

집합 연산자

두 개 이상의 쿼리 결과를 모두 중복된 결과와 결합합니다.
교차 SELECT *

FROM

(

SELECT 요소라는

FROM DHK_SCHEMA.TABLE1

교차

SELECT 요소라는

FROM DHK_SCHEMA.TABLE2

)

주문 BY 요소;

집합 연산자

두 개 이상의 쿼리 결과를 모든 공통 행과 결합합니다.
SELECT *

FROM

(

SELECT 요소라는

FROM DHK_SCHEMA.TABLE1

SELECT 요소라는

FROM DHK_SCHEMA.TABLE2

)

주문 BY 요소;

집합 연산자

첫 번째 쿼리에서 출력을 가져오고 두 번째 쿼리에서 선택한 행을 제거합니다.