mysql创建员工薪表多表查询
时间: 2023-08-28 11:07:51 浏览: 48
你可以使用多表查询来创建员工薪资表。下面是一个示例,假设你有两个表:员工表(employees)和薪资表(salaries),并且它们通过员工ID(employee_id)进行关联。
首先,创建员工表和薪资表:
```sql
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE
);
CREATE TABLE salaries (
employee_id INT,
salary DECIMAL(10,2),
start_date DATE,
end_date DATE,
FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
```
然后,插入一些示例数据到这两个表中:
```sql
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1, 'John', 'Doe', '2020-01-01');
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (2, 'Jane', 'Smith', '2021-02-01');
INSERT INTO salaries (employee_id, salary, start_date, end_date)
VALUES (1, 5000, '2020-01-01', '2021-12-31');
INSERT INTO salaries (employee_id, salary, start_date, end_date)
VALUES (2, 6000, '2021-02-01', '2021-12-31');
```
现在,你可以使用多表查询来获取员工的薪资信息。例如,如果你想获取所有员工的薪资信息,可以使用以下查询语句:
```sql
SELECT e.employee_id, e.first_name, e.last_name, s.salary
FROM employees e
JOIN salaries s ON e.employee_id = s.employee_id;
```
这将返回一个结果集,包含员工ID、姓名和薪资信息。
你还可以根据需要使用其他条件来过滤查询结果,例如按照特定的日期范围或薪资条件进行筛选。根据你的具体需求,可以进一步调整查询语句。