SAP HANA SQL: 10분 안에 기본 명령문 배우기
⚡ 스마트 요약
SAP HANA SQL은 플랫폼의 주요 데이터베이스 언어입니다. 스키마 정의, 데이터 조작, 접근 제어 및 세션 관리를 처리하며, 관계형 데이터베이스 전반에 걸쳐 SQL의 이식성을 보장하는 표준을 따릅니다.

대부분의 RDBMS 데이터베이스는 SQL 데이터베이스 언어로서 인기를 끄는 이유는 강력하고 벤더 독립적이며 표준화되어 있기 때문입니다. SAP HANA는 SQL도 지원합니다.
In SAP HANA, SQL이 주요 데이터베이스 언어입니다.
SAP 하나 SQL?
SQL은 구조적 쿼리 언어를 나타냅니다. 다음과 같은 관계형 데이터베이스와 통신하기 위한 표준 언어입니다. Oracle, MySQL 등. SQL은 데이터베이스의 데이터를 저장, 검색 및 수정하는 데 사용됩니다.
SQL을 사용하여 SAP HANA, 우리는 다음과 같은 작업을 수행할 수 있습니다.
- 스키마 정의 및 사용(CREATE SCHEMA)
- DML 문(SELECT, UPDATE, INSERT).
- DDL 문(생성, 변경, 삭제)
- DCL 진술서(승인, 취소)
- 시스템 관리
- 세션 관리
- 트랜잭션 관리
SQL 콘솔에서 명령문이 실행됩니다. SAP 하나 스튜디오명령줄 클라이언트에서든, JDBC나 ODBC를 통해 연결하는 애플리케이션에서든 사용할 수 있습니다. 사용하는 언어는 각 경우에 동일합니다.
SQL 문 범주 SAP HANA
모든 명세서는 소수의 패밀리 중 하나에 속합니다. 명세서가 어떤 패밀리에 속하는지 알면 롤백 가능 여부와 필요한 권한을 예측할 수 있습니다.
| 카테고리 | 전체 이름 | 일반적인 진술 | 목적 |
|---|---|---|---|
| DDL | 데이터 정의 언어 | 생성, 변경, 삭제, 이름 바꾸기 | 스키마, 테이블, 뷰와 같은 객체를 정의하고 변경합니다. |
| DML | 데이터 조작 언어 | 선택, 삽입, 업데이트, 삭제, 업서트 | 객체 내부에 저장된 행을 읽고 변경합니다. |
| DCL | 데이터 제어 언어 | 허가, 취소 | 어떤 사용자 또는 역할이 어떤 작업을 수행할 수 있는지를 제어합니다. |
| TCL | 트랜잭션 제어 언어 | 커밋, 롤백, 세이브포인트 | 작업 단위를 확정하거나 기각합니다. |
| 세션 | 세션 관리 | 스키마 설정, 연결, 트랜잭션 설정 | 현재 연결을 구성합니다. |
| 시스템 | 시스템 관리 | 시스템 변경, 모니터링 보기 | 데이터베이스 인스턴스 자체를 관리합니다. |
UPSERT는 모든 언어 방언에 존재하는 것은 아니므로 주목할 만합니다. 키가 새롭거나 이미 존재하는 경우 행을 삽입하고, 키가 이미 존재하는 경우 행을 업데이트하여 일반적으로 사용되는 두 개의 쿼리문 패턴을 제거합니다.
SQL의 주석
SQL 문의 가독성과 유지 관리성을 향상시키기 위해 주석을 추가할 수 있습니다. 주석은 두 가지 방법으로 SQL에 추가할 수 있습니다.
- 한 줄 코멘트 – Double 하이픈 “–“. 이것은 한 줄짜리 주석입니다.
- 여러 줄 주석 – “/* */”.
모든 주석 처리된 텍스트는 SQL Parser에서 무시됩니다.
-- This is a single line comment SELECT ELEMENT FROM DHK_SCHEMA.TABLE1; /* This is a multiple line comment. Everything between the markers is ignored by the SQL parser. */ SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;
기본 SQL 구문 예제 SAP HANA
아래 명령문들은 스키마 생성, 테이블 정의, 행 로드 및 읽기라는 일상적인 과정을 다룹니다. 이 명령문들은 SQL 콘솔에서 변경 없이 실행됩니다.
1) 스키마를 생성합니다. 스키마는 그 안에 생성된 객체를 소유하며, 새 프로젝트에 가장 먼저 필요한 요소입니다.
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) 컬럼 테이블을 생성합니다. 컬럼 스토어는 기본 저장소 방식이며, HANA의 분석 속도를 높이는 핵심 요소입니다. 로우 스토어는 크기가 작고 쓰기 작업이 많은 테이블에만 사용됩니다.
CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE ( EMP_ID INTEGER NOT NULL, EMP_NAME NVARCHAR(100), HIRE_DATE DATE, SALARY DECIMAL(10,2), PRIMARY KEY (EMP_ID) );
3) 행을 삽입하고 업데이트합니다. INSERT 문은 행을 추가하고 UPDATE 문은 기존 행을 변경합니다. 모든 행을 변경해야 하는 경우가 아니라면 UPDATE 문에는 항상 WHERE 절을 함께 사용해야 합니다.
INSERT INTO DHK_SCHEMA.EMPLOYEE VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00); UPDATE DHK_SCHEMA.EMPLOYEE SET SALARY = 60000.00 WHERE EMP_ID = 1;
4) 데이터를 조회합니다. SELECT 문은 익숙한 WHERE, GROUP BY, HAVING 및 ORDER BY 절을 지원합니다.
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) 접근 권한을 부여하고 확정합니다. DCL은 테이블을 읽을 수 있는 사용자를 제어하고, COMMIT은 작업을 영구적으로 저장합니다.
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
각 열 정의에 대한 필드 수준 세부 정보는 다음에서 다룹니다. SAP HANA 데이터 유형그리고 WHERE 절에 사용된 기호는 다음과 같습니다. SAP HANA 연산자.
SAP HANA SQL과 일반 SQL 비교
SAP HANA는 SQL 표준을 엄격하게 따르기 때문에 숙련된 개발자는 빠르게 생산성을 높일 수 있습니다. 중요한 차이점은 삭제된 기능보다는 추가된 기능입니다.
| 지역 | 표준 SQL | SAP 하나SQL |
|---|---|---|
| 테이블 수납 | 기본적으로 행 방향으로 설정됨 | 기본적으로 컬럼 스토어를 사용하며, 로우 스토어는 선택 사항입니다. |
| 하나의 명령으로 삽입 또는 업데이트 | 지원되는 경우 병합 | UPSERT는 동일한 결과를 얻기 위한 더 간단한 구문입니다. |
| 결과 집합 제한 | 방언별 | 오프셋을 포함한 제한, 그리고 TOP 추가 |
| 절차적 확장 | 공급업체별 | 테이블 변수 및 병렬 실행을 지원하는 SQLScript |
| 전체 텍스트 검색 | 일반적으로 추가 기능입니다. | TEXT 및 SHORTTEXT 열을 통해 내장됩니다. |
| 대소 문자 구분 | 개인마다 다름 | 구분 기호가 없는 식별자는 대문자로 표시되고, 구분 기호로 구분된 식별자는 대소문자를 유지합니다. |
식별자 규칙이 가장 예상치 못한 문제를 일으킵니다. 테이블 이름을 큰따옴표 없이 소문자로 작성하면 대문자로 변환되고, 나중에 큰따옴표 안에 소문자로 입력하여 선택하면 찾을 수 없습니다. 규칙은 다음과 같습니다. 데이터 유형 및 식별자 튜토리얼에서는 더 넓은 플랫폼을 다룹니다. SAP HANA 튜토리얼 시리즈.
