SAP HANA SQL: 10분 안에 기본 명령문 배우기

⚡ 스마트 요약

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

  • 🗣️ 핵심 역할: SQL은 통신을 위한 주요 언어입니다. SAP HANA는 다른 관계형 시스템과 마찬가지입니다.
  • 🏗️ 스키마 작업: CREATE SCHEMA 명령은 테이블, 뷰 및 프로시저를 소유하는 네임스페이스를 설정합니다.
  • 📋 DML 문: SELECT, INSERT, UPDATE 문은 테이블에 저장된 행을 읽고 변경합니다.
  • 🧱 DDL 진술: 생성, 변경 및 삭제는 객체 자체를 정의하고 재구성합니다.
  • 🔐 DCL 성명서: GRANT 및 REVOKE는 어떤 사용자가 어떤 작업을 수행할 수 있는지를 제어합니다.
  • 💬 댓글 스타일: Double 하이픈(-)은 한 줄짜리 주석을 나타내고, 슬래시(/)와 별표(*)는 여러 줄짜리 주석을 묶습니다.
  • ⚙️ 관리 : 시스템, 세션 및 트랜잭션 관리는 모두 SQL 문을 통해 이루어집니다.

SAP 하나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 튜토리얼 시리즈.

자주 묻는 질문

SQL은 단일 문장을 처리합니다. SQLScript는 변수, 반복문, 테이블 변수와 같은 절차적 논리를 추가하여 여러 단계를 애플리케이션 계층이 아닌 데이터베이스 내에서 실행할 수 있도록 합니다.

압축 및 분석 읽기 속도가 훨씬 빠르기 때문에 거의 모든 것에 컬럼 테이블을 사용하는 것이 좋습니다. 로우 테이블은 접근할 때마다 레코드를 하나씩 전체적으로 읽는 소규모 구성 테이블에 적합합니다.

예. 주어진 스키마를 기반으로 언어 모델은 작성된 요청으로부터 올바른 SELECT 문을 생성합니다. Rev조인과 필터를 신중하게 살펴보세요. 그럴듯한 쿼리라도 잘못된 질문에 대한 답을 제시할 수 있습니다.

네. AI는 실행 계획을 읽고 재작성, 더 나은 조인 순서 또는 누락된 필터를 제안합니다. 결과를 측정해야 합니다. 특정 데이터 볼륨에 도움이 되는 제안이 다른 데이터 볼륨에는 오히려 해가 될 수 있기 때문입니다.

아니요. 파서는 실행 전에 주석을 제거하므로 런타임에 비용이 발생하지 않습니다. 주석은 긴 분석문을 유지 관리하기 쉽게 만드는 가장 저렴한 방법입니다.

이 게시물을 요약하면 다음과 같습니다.