Có, điều đó có thể xảy ra:
SELECT *
FROM tbl t, json_array_elements(t.json_col->'emails') AS elem
WHERE elem->>'id' = 123;
tbl
là tên bảng của bạn, json_col
là tên của cột JSON.
Thêm chi tiết trong câu trả lời liên quan này:
- Làm cách nào để truy vấn bằng các trường bên trong kiểu dữ liệu PostgreSQL JSON mới?
Tìm hiểu thêm về CROSS JOIN LATERAL
ngầm hiểu trong đoạn cuối của câu trả lời liên quan này:
- PostgreSQL unnest () với số phần tử
Lập chỉ mục để hỗ trợ loại truy vấn này:
- Chỉ mục để tìm một phần tử trong mảng JSON