(5)使用TRUNCATE TABLE语句删除Salary表中有行。(删除后请重新插入,以后要用)
时间: 2024-01-19 21:01:59 浏览: 112
好的,您可以使用以下 SQL 命令使用 `TRUNCATE TABLE` 语句删除 Salary 表中所有行:
```
TRUNCATE TABLE Salary;
```
该命令中,`TRUNCATE TABLE` 表示清空表中的数据,`Salary` 是要清空的表名。
执行该命令后,Salary 表中所有行都会被删除。请注意,`TRUNCATE TABLE` 语句会直接清空表中的所有数据,且不可恢复,请谨慎操作。
如果您需要重新插入数据,可以使用 `INSERT INTO` 语句来插入数据。例如:
```
INSERT INTO Salary (id, name, income) VALUES ('011112', '张三', 3000);
INSERT INTO Salary (id, name, income) VALUES ('022223', '李四', 3500);
INSERT INTO Salary (id, name, income) VALUES ('033334', '王五', 4000);
```
以上命令将向 Salary 表中插入三条数据。每条数据包含一个 id、一个 name 和一个 income。您可以根据需要修改这些数据,然后执行 INSERT INTO 命令来插入数据。
相关问题
Employee 表保存了一年内的薪水信息,请你编写 SQL 语句,对于每个员工,查询他除最近一个月(即最大月)之外,剩下每个月的近三个月的累计薪水(不足三个月也要计算),结果请按 Id 升序,然后按 Month 降序显示。 建表语句: drop table Employee; Create table If Not Exists Employee (id int, month int, salary int); Truncate table Employee; insert into Employee (id, month, salary) values ('1', '1', '20'); insert into Employee (id, month, salary) values ('2', '1', '20'); insert into Employee (id, month, salary) values ('1', '2', '30'); insert into Employee (id, month, salary) values ('2', '2', '30'); insert into Employee (id, month, salary) values ('3', '2', '40'); insert into Employee (id, month, salary) values ('1', '3', '40'); insert into Employee (id, month, salary) values ('3', '3', '60'); insert into Employee (id, month, salary) values ('1', '4', '60'); insert into Employee (id, month, salary) values ('3', '4', '70'); insert into Employee (id, month, salary) values ('1', '7', '90'); insert into Employee (id, month, salary) values ('1', '8', '90');
请使用以下 SQL 语句来查询每个员工除最近一个月之外的近三个月的累计薪水:
```sql
SELECT e.id, e.month, SUM(e.salary) AS cumulative_salary
FROM Employee e
WHERE (e.id, e.month) NOT IN (
SELECT id, MAX(month)
FROM Employee
GROUP BY id
)
AND e.month >= (
SELECT MAX(month) - INTERVAL 3 MONTH
FROM Employee
)
GROUP BY e.id, e.month
ORDER BY e.id ASC, e.month DESC;
```
运行以上 SQL 语句后,将按照员工的 Id 升序和 Month 降序显示结果。
阅读全文