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 |
+----+----------+-----+---------+----------+