使用sql备份人事表,关联多表数据删除语法、多表修改语法,编写多个表关联查询语法 4.1、写出备份表、删除表数据、多表修改语法、多表查询语法(左连接语法、内连接语法) 4.2、统计每天每个时间段内消费次数、和总金额
时间: 2023-08-06 17:02:29 浏览: 75
4.1 SQL语法:
备份表:
```
-- 备份人事表
SELECT * INTO 人事表备份 FROM 人事表
```
删除表数据:
```
-- 删除人事表中年龄大于等于30岁的员工信息
DELETE FROM 人事表 WHERE 年龄 >= 30
```
多表修改语法:
```
-- 修改员工信息表中的员工部门信息
UPDATE 员工信息表
SET 部门 = '销售部'
FROM 员工信息表
INNER JOIN 部门信息表
ON 员工信息表.部门ID = 部门信息表.ID
WHERE 部门信息表.部门名称 = '销售部'
```
多表查询语法:
左连接语法:
```
-- 查询员工信息和部门信息,显示所有员工信息,部门信息可能为空
SELECT 员工信息表.姓名, 员工信息表.年龄, 部门信息表.部门名称
FROM 员工信息表
LEFT JOIN 部门信息表
ON 员工信息表.部门ID = 部门信息表.ID
```
内连接语法:
```
-- 查询员工信息和部门信息,只显示有部门信息的员工信息
SELECT 员工信息表.姓名, 员工信息表.年龄, 部门信息表.部门名称
FROM 员工信息表
INNER JOIN 部门信息表
ON 员工信息表.部门ID = 部门信息表.ID
```
4.2 SQL语法:
统计每天每个时间段内消费次数和总金额:
```
SELECT DATE_FORMAT(消费时间, '%Y-%m-%d') AS 日期,
CASE
WHEN HOUR(消费时间) BETWEEN 0 AND 5 THEN '凌晨'
WHEN HOUR(消费时间) BETWEEN 6 AND 11 THEN '上午'
WHEN HOUR(消费时间) BETWEEN 12 AND 17 THEN '下午'
WHEN HOUR(消费时间) BETWEEN 18 AND 23 THEN '晚上'
END AS 时间段,
COUNT(*) AS 消费次数,
SUM(金额) AS 总金额
FROM 消费记录表
GROUP BY DATE_FORMAT(消费时间, '%Y-%m-%d'),
CASE
WHEN HOUR(消费时间) BETWEEN 0 AND 5 THEN '凌晨'
WHEN HOUR(消费时间) BETWEEN 6 AND 11 THEN '上午'
WHEN HOUR(消费时间) BETWEEN 12 AND 17 THEN '下午'
WHEN HOUR(消费时间) BETWEEN 18 AND 23 THEN '晚上'
END
```