0% found this document useful (0 votes)
14 views5 pages

Session15 Working With Adv Json

Uploaded by

Srini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views5 pages

Session15 Working With Adv Json

Uploaded by

Srini
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

// Handling arrays

SELECT RAW_FILE:prev_company as prev_company

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT RAW_FILE:prev_company[1]::STRING as prev_company

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT ARRAY_SIZE(RAW_FILE:prev_company) as prev_company

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT RAW_FILE:id::int as id,

RAW_FILE:first_name::STRING as first_name,

RAW_FILE:prev_company[0]::STRING as prev_company

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

UNION ALL

SELECT RAW_FILE:id::int as id,

RAW_FILE:first_name::STRING as first_name,

RAW_FILE:prev_company[1]::STRING as prev_company

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

ORDER BY id

// Dealing with hierarchy (JSON 4)

SELECT RAW_FILE:spoken_languages as spoken_languages

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;
SELECT * FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT array_size(RAW_FILE:spoken_languages) as
spoken_languages

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

SELECT RAW_FILE:first_name::STRING as first_name,

array_size(RAW_FILE:spoken_languages) as spoken_languages

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

SELECT RAW_FILE:spoken_languages[0] as First_language

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT RAW_FILE:first_name::STRING as first_name,

RAW_FILE:spoken_languages[0] as First_language

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW;

SELECT

RAW_FILE:first_name::STRING as First_name,

RAW_FILE:spoken_languages[0].language::STRING as
First_language,

RAW_FILE:spoken_languages[0].level::STRING as Level_spoken

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW
SELECT RAW_FILE:id::int as id,

RAW_FILE:first_name::STRING as First_name,

RAW_FILE:spoken_languages[0].language::STRING as
First_language,

RAW_FILE:spoken_languages[0].level::STRING as Level_spoken

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

UNION ALL

SELECT RAW_FILE:id::int as id,

RAW_FILE:first_name::STRING as First_name,

RAW_FILE:spoken_languages[1].language::STRING as
First_language,

RAW_FILE:spoken_languages[1].level::STRING as Level_spoken

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

UNION ALL

SELECT RAW_FILE:id::int as id,

RAW_FILE:first_name::STRING as First_name,

RAW_FILE:spoken_languages[2].language::STRING as
First_language,

RAW_FILE:spoken_languages[2].level::STRING as Level_spoken

FROM OUR_FIRST_DB.PUBLIC.JSON_RAW

ORDER BY ID

//Advanced Function

select

RAW_FILE:first_name::STRING as First_name,

f.value:language::STRING as First_language,
f.value:level::STRING as Level_spoken

from OUR_FIRST_DB.PUBLIC.JSON_RAW,
table(flatten(RAW_FILE:spoken_languages)) f;

// Option 1: CREATE TABLE AS

CREATE OR REPLACE TABLE Languages AS

select RAW_FILE:first_name::STRING as First_name,

f.value:language::STRING as First_language,

f.value:level::STRING as Level_spoken

from OUR_FIRST_DB.PUBLIC.JSON_RAW,
table(flatten(RAW_FILE:spoken_languages)) f;

SELECT * FROM Languages;

truncate table languages;

// Option 2: INSERT INTO

INSERT INTO Languages

select RAW_FILE:first_name::STRING as First_name,

f.value:language::STRING as First_language,

f.value:level::STRING as Level_spoken

from OUR_FIRST_DB.PUBLIC.JSON_RAW,
table(flatten(RAW_FILE:spoken_languages)) f;

SELECT * FROM Languages;

You might also like