数据库高级查询与PL/pgSQL编程
在数据库操作中,高级查询和编写服务器端程序是提升数据库性能和功能的重要手段。下面将详细介绍高级查询的编写以及PL/pgSQL语言在服务器端编程中的应用。
高级查询编写
在数据库查询中, FILTER
子句可以让输出更加清晰。例如,以下查询统计了不同 car_model_id
下不同车门数量的汽车数量:
SELECT car_model_id,
count(*) FILTER (WHERE number_of_doors = 2) doors2,
count(*) FILTER (WHERE number_of_doors = 3) doors3,
count(*) FILTER (WHERE number_of_doors = 4) doors4,
count(*) FILTER (WHERE number_of_doors = 5) doors5
FROM car_portal_app.car
GROUP BY car_model_id;
查询结果示例如下:
car_model_id | doors2 | doors3 | doors4 | doors5
--------------+--------+--------+--------+--------
43 | 0 | 0 | 0 | 2
8 | 0 | 0