首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用postgres使用不同的值更新同一表中的列

在 PostgreSQL 中,您可以使用 UPDATE 语句和 CASE 表达式来根据不同的条件更新同一表中的列

假设我们有一个名为 employees 的表,其中包含以下列:idnamesalary。现在,我们想要根据员工的年龄更新他们的薪水。我们可以使用以下查询:

代码语言:javascript
复制
UPDATE employees
SET salary = CASE
    WHEN age < 30 THEN salary * 1.1
    WHEN age >= 30 AND age < 40 THEN salary * 1.05
    ELSE salary
END;

在这个例子中,我们根据员工的年龄更新了 salary 列。如果员工的年龄小于 30 岁,薪水将增加 10%;如果员工的年龄在 30 到 40 岁之间,薪水将增加 5%;否则,薪水保持不变。

您还可以根据其他列的值更新同一列。例如,假设我们有一个名为 departments 的表,其中包含以下列:idnamemanager_id。我们想要将所有属于 "IT" 部门的员工的 manager_id 更新为 1。我们可以使用以下查询:

代码语言:javascript
复制
UPDATE employees
SET manager_id = CASE
    WHEN department_id IN (SELECT id FROM departments WHERE name = 'IT') THEN 1
    ELSE manager_id
END;

在这个例子中,我们使用了子查询来查找属于 "IT" 部门的员工,并将这些员工的 manager_id 更新为 1。其他员工的 manager_id 保持不变。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分15秒

53-尚硅谷-JDBC核心技术-使用QueryRunner查询表中特殊值的操作

5分15秒

53-尚硅谷-JDBC核心技术-使用QueryRunner查询表中特殊值的操作

13分56秒

102_第九章_状态编程(二)_按键分区状态(二)_ 代码中的使用(一)_基本方式和值状态

6分33秒

048.go的空接口

10分30秒

053.go的error入门

4分41秒

076.slices库求最大值Max

5分40秒

如何使用ArcScript中的格式化器

3分39秒

035.go的类型定义和匿名结构体

6分9秒

054.go创建error的四种方式

7分19秒

085.go的map的基本使用

8分5秒

303_尚硅谷_Go核心编程_Redis中Hash的基本使用.avi

12分23秒

304_尚硅谷_Go核心编程_Redis中Hash的使用细节.avi

领券