SAP HANA-SQL 표현식

표현식은 값을 반환하는 절을 평가하는 데 사용됩니다. HANA에서 사용할 수있는 다른 SQL 표현식이 있습니다.

  • 케이스 표현식
  • 함수 표현
  • 집계 식
  • 식의 하위 쿼리

케이스 표현

SQL 표현식에서 여러 조건을 전달하는 데 사용됩니다. SQL 문에서 프로 시저를 사용하지 않고도 IF-ELSE-THEN 논리를 사용할 수 있습니다.

SELECT COUNT( CASE WHEN sal < 2000 THEN 1 ELSE NULL END ) count1,
COUNT( CASE WHEN sal BETWEEN 2001 AND 4000 THEN 1 ELSE NULL END ) count2,
COUNT( CASE WHEN sal > 4000 THEN 1 ELSE NULL END ) count3 FROM emp;

이 문은 전달 된 조건에 따라 정수 값으로 count1, count2, count3을 반환합니다.

함수 표현

함수 표현식에는 표현식에서 사용할 SQL 내장 함수가 포함됩니다.

집계 식

집계 함수는 Sum, Percentage, Min, Max, Count, Mode, Median 등과 같은 복잡한 계산을 수행하는 데 사용됩니다. Aggregate Expression은 집계 함수를 사용하여 여러 값에서 단일 값을 계산합니다.

Aggregate Functions− 합계, 개수, 최소값, 최대 값. 측정 값 (사실)에 적용되며 항상 차원과 연결됩니다.

일반적인 집계 함수는 다음과 같습니다.

  • 평균 ()
  • 개수 ()
  • 최대 ()
  • 중앙값 ()
  • 최소 ()
  • 모드 ()
  • 합계 ()

식의 하위 쿼리

표현식으로서의 하위 쿼리는 Select 문입니다. 표현식에서 사용되는 경우 0 또는 단일 값을 반환합니다.

하위 쿼리는 검색 할 데이터를 추가로 제한하는 조건으로 기본 쿼리에서 사용될 데이터를 반환하는 데 사용됩니다.

하위 쿼리는 =, <,>,> =, <=, IN, BETWEEN 등과 같은 연산자와 함께 SELECT, INSERT, UPDATE 및 DELETE 문과 함께 사용할 수 있습니다.

하위 쿼리가 따라야하는 몇 가지 규칙이 있습니다.

  • 하위 쿼리는 괄호로 묶어야합니다.

  • 하위 쿼리가 선택한 열을 비교하기위한 기본 쿼리에 여러 열이있는 경우가 아니면 하위 쿼리는 SELECT 절에 하나의 열만 가질 수 있습니다.

  • 주 쿼리는 ORDER BY를 사용할 수 있지만 ORDER BY는 하위 쿼리에서 사용할 수 없습니다. GROUP BY는 하위 쿼리의 ORDER BY와 동일한 기능을 수행하는 데 사용할 수 있습니다.

  • 둘 이상의 행을 반환하는 하위 쿼리는 IN 연산자와 같은 여러 값 연산자와 함께 만 사용할 수 있습니다.

  • SELECT 목록에는 BLOB, ARRAY, CLOB 또는 NCLOB로 평가되는 값에 대한 참조가 포함될 수 없습니다.

  • 하위 쿼리는 집합 함수에 즉시 포함될 수 없습니다.

  • BETWEEN 연산자는 하위 쿼리와 함께 사용할 수 없습니다. 그러나 BETWEEN 연산자는 하위 쿼리 내에서 사용할 수 있습니다.

SELECT 문을 사용하는 하위 쿼리

하위 쿼리는 SELECT 문과 함께 가장 자주 사용됩니다. 기본 구문은 다음과 같습니다.

SELECT * FROM CUSTOMERS
WHERE ID IN (SELECT ID
FROM CUSTOMERS
WHERE SALARY > 4500) ;
+----+----------+-----+---------+----------+
| ID | NAME     | AGE | ADDRESS | SALARY   |
+----+----------+-----+---------+----------+
| 4  | Chaitali | 25  | Mumbai  | 6500.00  |
| 5  | Hardik   | 27  | Bhopal  | 8500.00  |
| 7  | Muffy    | 24  | Indore  | 10000.00 |
+----+----------+-----+---------+----------+