将所有获取奖金的员工当前的薪水增加10%

sql实战 将所有获取奖金的员工当前的薪水增加10%

问题描述

请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01’)薪水增加10%。(emp_bonus里面的emp_no都是当前获奖的所有员工)
create table emp_bonus(
emp_no int not null,
btype smallint not null);
CREATE TABLE salaries (
emp_no int(11) NOT NULL,
salary int(11) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL, PRIMARY KEY (emp_no,from_date));

来源:牛客网
链接:https://www.nowcoder.com/practice/d3b058dcc94147e09352eb76f93b3274?tpId=82&&tqId=29816&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking

Sql语句

update salaries
set salary = salary * 1.1
where to_date = '9999-01-01'
and emp_no in (select emp_no
              from emp_bonus);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给出一个示例代码,用于实现上述需求: ```c++ #include <iostream> #include <vector> #include <ctime> using namespace std; class Employee { public: Employee(string name, int id, int salary, int birthMonth, bool isHourly) { _name = name; _id = id; _salary = salary; _birthMonth = birthMonth; _isHourly = isHourly; } void printInfo() { cout << "ID: " << _id << " Name: " << _name << " Salary: " << _salary << endl; } void increaseSalary() { if (_isHourly) { _salary += 10; } else { _salary += 100; } } bool isBirthday(int currentMonth) { return _birthMonth == currentMonth; } private: string _name; int _id; int _salary; int _birthMonth; bool _isHourly; }; int main() { // 创建员工列表 vector<Employee> employees; employees.push_back(Employee("Tom", 1001, 5000, 8, false)); employees.push_back(Employee("Jerry", 1002, 2000, 3, true)); employees.push_back(Employee("Mike", 1003, 3000, 12, false)); // 获取当前月份 time_t now = time(0); tm *ltm = localtime(&now); int currentMonth = 1 + ltm->tm_mon; // 遍历员工列表,如果是生日月份,则增加工资 for (int i = 0; i < employees.size(); i++) { if (employees[i].isBirthday(currentMonth)) { employees[i].increaseSalary(); } employees[i].printInfo(); } return 0; } ``` 上述代码中,我们定义了一个 Employee 类,用于表示雇员的信息。在类的构造函数中,我们传入了雇员的姓名、ID、工资、生日月份以及是否为小时工资员工,用于初始化对象的属性。类中还定义了打印员工信息、增加工资、判断是否是生日等方法。 在主函数中,我们首先创建了一个包含多个 Employee 对象的 vector,模拟了雇员列表。然后获取当前月份,遍历员工列表,如果是生日月份,则调用 increaseSalary 方法增加工资,最后打印出每个雇员的信息。 希望能够帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值