[sql] 맵 데이터 타입 (map)

SQL에서 맵 (Map) 데이터 타입은 키-값 쌍을 저장하는 데 사용됩니다. 맵 데이터 타입은 특정 키 값을 사용하여 관련된 값을 쉽게 저장하고 조회할 수 있습니다.

맵 데이터 타입의 구성

맵 데이터 타입은 중괄호({})로 둘러싸인 키-값 쌍의 목록으로 정의됩니다. 각 쌍은 쉼표로 구분되며, 콜론(:)을 사용하여 키와 값을 구분합니다.

DECLARE @myMap MAP;
SET @myMap = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'};

맵 데이터 타입의 사용

맵 데이터 타입은 맵 변수에 할당하거나, 컬럼으로 사용할 수 있습니다. 변수에 값을 할당하려면 다음과 같이 사용합니다.

SET @myMap['key1'] = 'new value';

특정 키의 값을 조회하려면 다음과 같이 사용합니다.

SELECT @myMap['key1'] AS Value;

맵 데이터 타입의 중첩

맵 데이터 타입은 중첩될 수도 있습니다. 즉, 키의 값으로 또 다른 맵을 사용할 수 있습니다.

DECLARE @nestedMap MAP;
SET @nestedMap = {'key1': {'nestedKey1': 'nestedValue1', 'nestedKey2': 'nestedValue2'}};

중첩된 맵의 값을 조회하려면 다음과 같이 사용합니다.

SELECT @nestedMap['key1']['nestedKey1'] AS Value;

맵 데이터 타입의 제한 사항

맵 데이터 타입은 일부 SQL DBMS에서만 지원됩니다. 또한, 맵 데이터 타입은 특정 DBMS 버전에서부터 사용 가능한 경우가 있으므로, 사용할 DBMS의 문서를 참조해야 합니다.

참고 문헌