【PG数据库与SQL基础 DAY3】Exercises
- 多表关联与高级查询:
- 在「order_info」Schema 下创建「orders」表(字段:order_id INT PRIMARY KEY、user_id INT、order_amount DECIMAL (10,2)、order_time TIMESTAMP),插入 20 条测试数据(确保 user_id 与「users」表存在关联)
- 用 LEFT JOIN 关联「users」和「orders」表,查询每个用户的名称、订单数量、总消费金额,若用户无订单则订单数量显示 0
- 用 CTE + 窗口函数查询每个用户的最新 2 条订单信息,包含用户名称、订单 ID、订单金额
- JSONB 处理:
- 在「users」表中新增「user_extra」字段(类型 JSONB)
- 插入数据:UPDATE users SET user_extra = '{"phone":"13800138000","address":"北京市海淀区","tags":["VIP","新用户"]}' WHERE user_id=1
- 编写查询语句,提取「user_extra」中的手机号、地址,筛选出 tags 包含「VIP」的用户
- FUNCTION实践
- 开发循环插入FUNCTION,将orders表和users表数据增加到1w行
- 插入的数据不能一模一样,要有区分(如:时间可以是+1s;整形可以是+1;)
- 使用raise notice 输出 function 执行步骤(如:开始处理xxx;xxx处理完成)
Edited by Song.Yi-Bo 宋一博 ITC