📅  最后修改于: 2023-12-03 14:45:35.824000             🧑  作者: Mango
在 PostgreSQL 中,可以将查询结果转换为 JSON 格式,方便数据的传输和解析。本篇文章主要讲解如何将子查询的结果显示为 JSON 格式。
使用 json_agg
函数将查询结果转换为 JSON 数组,然后使用 json_build_object
函数将其封装到一个 JSON 对象中。
语法如下:
SELECT json_build_object(
'key', json_agg(subquery_result)
)
FROM subquery;
其中,key
表示 JSON 对象的键名,subquery_result
表示子查询的查询结果。
以下示例将 employees
表中 department_id
为 1 的员工按 salary
从高到低排序,然后将结果显示为 JSON 格式。
SELECT json_build_object(
'employees', json_agg(
json_build_object(
'name', name,
'salary', salary,
'hire_date', hire_date
)
)
)
FROM (
SELECT name, salary, hire_date
FROM employees
WHERE department_id = 1
ORDER BY salary DESC
) subquery;
执行结果如下:
{
"employees": [
{
"name": "John Doe",
"salary": 100000,
"hire_date": "2015-01-01"
},
{
"name": "Jane Doe",
"salary": 80000,
"hire_date": "2018-01-01"
}
]
}
本篇文章介绍了如何将子查询的结果显示为 JSON 格式,并给出了相应的语法和示例。在 PostgreSQL 中,使用 JSON 格式可以方便地对数据进行传输和解析,更好地适应现代应用程序的需求。