设某工厂数据库中有两个基本表(如下所示): 车间基本表:DEPT(DNO,DNAME,MGR NO),其属性分别表示车间编号、车间名和车间主任的职工号。 职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。 3、基于以上基本表,把工资低于850的职工的工资提高12%。写出实现的SQL语句。
时间: 2024-02-26 11:54:17 浏览: 298
可以使用UPDATE语句来实现将工资低于850的职工的工资提高12%的操作,具体SQL语句如下:
UPDATE EMP SET SALARY = SALARY * 1.12 WHERE SALARY < 850;
该语句会将EMP表中工资低于850的职工的工资提高12%。注意,该语句只是修改了EMP表中的数据,没有对DEPT表进行修改。
相关问题
设某工厂数据库中有两个基本表: 车间基本表:DEPT(DNO,DNAME,MGR_ENO),其属性分别表示车间编号、车间名 和车间主任的职工号。 职工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、 姓名、年龄、性别、工资和所在车间的编号。 根据上述关系,完成下面的操作: (1)写出创建基本表 ERP 的 SQL 语句,要求数据类型合理,职工姓名不能为空, 工资要求保留 2 位小数,创建合理的主码和外码; (2)建立一个有关女车间主任的职工号和姓名的视图,视图名为 FEMale_MGR; (3)在基本表 ERP 中,将“李艳”的年龄改为 25 岁。查询“01”号车间的所有职工信息,结果按照年龄降序,年龄同按职工号升序 排列; (2)查询每个车间的车间名、主任职工号和人数; (3)查询平均工资在 5000 以上的车间的车间号、车间名和主任职工号
创建基本表 ERP 的 SQL 语句如下:
```
CREATE TABLE ERP (
ENO INT PRIMARY KEY,
ENAME VARCHAR(20) NOT NULL,
AGE INT,
SEX VARCHAR(10),
SALARY DECIMAL(10,2),
DNO INT,
FOREIGN KEY (DNO) REFERENCES DEPT(DNO)
);
```
建立有关女车间主任的职工号和姓名的视图 FEMale_MGR 的 SQL 语句如下:
```
CREATE VIEW FEMale_MGR AS
SELECT ENO, ENAME
FROM ERP e
JOIN DEPT d ON e.DNO = d.DNO
WHERE d.MGR_ENO = e.ENO AND e.SEX = '女';
```
将“李艳”的年龄改为 25 岁,并查询“01”号车间的所有职工信息,结果按照年龄降序,年龄同按职工号升序排列的 SQL 语句如下:
```
UPDATE ERP SET AGE = 25 WHERE ENAME = '李艳';
SELECT * FROM ERP WHERE DNO = '01' ORDER BY AGE DESC, ENO ASC;
```
查询每个车间的车间名、主任职工号和人数的 SQL 语句如下:
```
SELECT d.DNAME, d.MGR_ENO, COUNT(*) AS NUM
FROM ERP e
JOIN DEPT d ON e.DNO = d.DNO
GROUP BY d.DNAME, d.MGR_ENO;
```
查询平均工资在 5000 以上的车间的车间号、车间名和主任职工号的 SQL 语句如下:
```
SELECT d.DNO, d.DNAME, d.MGR_ENO
FROM ERP e
JOIN DEPT d ON e.DNO = d.DNO
GROUP BY d.DNO, d.DNAME, d.MGR_ENO
HAVING AVG(e.SALARY) > 5000;
```
创建部门表:dept. 表结构如下: 1、部门编号:dno字符型(3)主码,2 部门名称:dname 可变字符型(20)不允许为空。 3.负责人:mgr 字符型(5)外码参照职工表emp的eno,设置删除规则为限制、更新规则为级联。请写出代码
创建一个名为`dept`的部门表,可以使用SQL语言来编写。在这个例子中,我们可以使用MySQL的CREATE TABLE语句。以下是对应的SQL代码:
```sql
CREATE TABLE dept (
dno CHAR(3) PRIMARY KEY, -- 部门编号为主键
dname VARCHAR(20) NOT NULL, -- 部门名称,不允许为空
mgr CHAR(5),
FOREIGN KEY (mgr) REFERENCES emp (eno) -- 引用emp表的eno字段
ON DELETE RESTRICT -- 删除时限制操作
ON UPDATE CASCADE -- 更新时级联更新
);
```
这里假设有一个名为`emp`的职工表,包含了eno列。上述代码创建了一个部门表,包含部门编号(dno)、部门名称(dname)以及负责人(mgr),负责人关联到`emp`表的员工编号。如果在`emp`表中删除某个员工,由于设置了`RESTRICT`删除规则,该员工不能再担任任何部门的负责人;如果更新`emp`表中的员工信息,由于设置了`CASCADE`更新规则,所有关联到这个员工的部门负责人信息也会随之更新。
阅读全文