Introdução a NoSQL
Jake Roach
Data Engineer

-> operator
->> operator
$$
SELECT
parent_meta -> 'guardian' AS guardian
parent_meta ->> 'status' AS status
FROM student;

Para consultar objetos JSON aninhados:
-> e ->> em conjunto$$
SELECT
parent_meta -> 'jobs' ->> 'P1' AS jobs_P1,
parent_meta -> 'jobs' ->> 'P2' AS jobs_P2
FROM student;

Acessando elementos de arrays JSON:
INT para ->, retorna o campo como JSONINT para ->>, retorna o campo como texto$$
SELECT
parent_meta -> 'educations' ->> 0
parent_meta -> 'educations' ->> 1
FROM student;

json_typeof function
->->>$$
SELECT
json_typeof(parent_meta -> 'jobs')
FROM students;
SELECT
-- Campos de nível superior
<column-name> -> '<field-name>' AS <alias>,
<column-name> ->> '<field-name>' AS <alias>,
-- Campos aninhados
<column-name> -> '<parent-field-name>' ->> '<nested-field-name>' AS <alias>,
-- Arrays
<column-name> -> '<parent-field-name>' -> 0 AS <alias>,
<column-name> -> '<parent-field-name>' ->> 1 AS <alias>,
-- Tipo de
json_typeof(<column-name> -> <field-name>) AS <alias>
FROM <table-name>;
Introdução a NoSQL