Snowflake SQL 입문
George Boorman
Senior Curriculum Manager, DataCamp
정형 데이터 예시
| cust_id | cust_name | cust_age | cust_email |
|---------|-----------|----------|-----------------------|
| 1 | cust1 | 40 | cust1***@gmail.com |
| 2 | cust2 | 35 | cust2***@gmail.com |
| 3 | cust3 | 42 | cust3***@gmail.com |
반정형 데이터 예시

cust_id: 1
비교:
JSONB 사용VARIANT 사용VARIANT는 OBJECT와 ARRAY 타입을 지원{ "key": "value"}["list", "of", "values"]CREATE TABLE cust_info_json_data (
customer_id INT,
customer_info VARIANT -- VARIANT data type
);
PARSE_JSON
expr: 문자열 형식의 JSON 데이터VARIANT 타입, 유효한 JSON 객체예시:
SELECT PARSE_JSON(
-- 문자열로 감쌈
'{
"cust_id": 1,
"cust_name": "cust1",
"cust_age": 40,
"cust_email":"cust1***@gmail.com"
}
'-- 문자열로 감쌈
) AS customer_info_json

OBJECT_CONSTRUCT
OBJECT_CONSTRUCT( [<key1>, <value1> [, <keyN>, <valueN> ...]] ) SELECT OBJECT_CONSTRUCT(
-- : 표기 대신 쉼표로 구분
'cust_id', 1,
'cust_name', 'cust1',
'cust_age', 40,
'cust_email', 'cust1***@gmail.com'
)

단순 JSON
:SELECT
customer_info:cust_age, -- 열에서 cust_age 접근에 콜론 사용
customer_info:cust_name,
customer_info:cust_email,
FROM
cust_info_json_data;

중첩 JSON 예시

:.콜론 표기법으로 값 접근
<column>:<level1_element>:<level2_element>:<level3_element>
SELECT
customer_info:address:street AS street_name
FROM
cust_info_json_data

점 표기법으로 값 접근
<column>:<level1_element>.<level2_element>.<level3_element>
SELECT
customer_info:address.street AS street_name
FROM
cust_info_json_data

Snowflake SQL 입문