[sql] 배열 데이터 타입 (array)

SQL에서 배열 데이터 타입은 여러 값을 하나의 열로 저장할 수 있는 데이터 유형입니다. 일반적으로 동일한 데이터 유형의 값들을 그룹화하고 처리해야 할 때 사용됩니다.

배열 데이터 타입의 선언

배열 데이터 타입을 선언하기 위해서는 대괄호 []를 사용하여 데이터 유형 뒤에 붙여주면 됩니다. 예를 들어, integer 배열을 선언하려면 다음과 같이 작성합니다:

CREATE TABLE my_table (
  numbers integer[]
);

위의 예제에서는 numbers라는 열이 integer 배열로 정의되었습니다.

배열 데이터 타입의 사용

배열 데이터 타입을 사용하여 데이터를 저장하고 쿼리를 수행할 수 있습니다. 데이터를 배열로 저장하려면 중괄호 {}를 사용하여 값을 그룹화하고 쉼표로 구분해야 합니다. 예를 들어, numbers열에 1, 2, 3을 배열로 저장하고 싶다면 다음과 같이 작성할 수 있습니다:

INSERT INTO my_table (numbers)
VALUES ('{1, 2, 3}');

배열 데이터에는 다양한 연산을 적용할 수 있습니다. 예를 들어, 배열의 길이를 알고 싶다면 array_length() 함수를 사용할 수 있습니다. 다음은 numbers열의 배열 길이를 구하는 예제입니다:

SELECT array_length(numbers, 1)
FROM my_table;

배열에 있는 값들을 하나씩 조회하고 싶다면, unnest() 함수를 사용하여 배열을 분리할 수 있습니다. 다음은 numbers열의 값을 하나씩 조회하는 예제입니다:

SELECT unnest(numbers)
FROM my_table;

Conclusion

배열 데이터 타입은 SQL에서 여러 값을 관리하고 처리하기 위한 유용한 도구입니다. 배열은 값을 그룹화하여 쉽게 처리할 수 있도록 도와주며, 다양한 배열 함수를 사용해서 데이터를 다룰 수 있습니다. 배열 데이터 타입을 적절히 활용하여 SQL 쿼리 작성을 간편하게 만들 수 있습니다.

References: