设某工厂数据库中有两个基本表(如下所示): 车间基本表:DEPT(DNO,DNAME,MGR NO),其属性分别表示车间编号、车间名和车间主任的职工号。 职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。 3、基于以上基本表,把工资低于850的职工的工资提高12%。写出实现的SQL语句。
时间: 2024-02-26 20:54:17 浏览: 15
可以使用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;
```
以自己的姓名(拼音)创建一个数据库。(10分) 2、在数据库中创建如下两个表(要求设置表之间的关系)(40分) 员工表:EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工 号、姓名、工资和所在部门号 部门表:DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、 部门名称、部门经理的职工号。
好的,您的要求已经记录下来了。现在回答您的问题:
对于您的第一个问题,我可以为您创建一个名为“zhangsan”的数据库。请问您需要使用哪种数据库管理系统来创建这个数据库呢?MySQL还是Oracle?
对于您的第二个问题,以下是创建EMP和DEPT表的SQL语句:
```
-- 创建EMP表
CREATE TABLE EMP (
ENO INT PRIMARY KEY,
ENAME VARCHAR(20),
SALARY DECIMAL(10, 2),
DNO INT,
FOREIGN KEY (DNO) REFERENCES DEPT(DNO)
);
-- 创建DEPT表
CREATE TABLE DEPT (
DNO INT PRIMARY KEY,
DNAME VARCHAR(20),
MANAGER INT,
FOREIGN KEY (MANAGER) REFERENCES EMP(ENO)
);
```
在这里,我们使用了外键来建立EMP和DEPT之间的关系。EMP表中的DNO属性是一个外键,它参考了DEPT表中的DNO属性;DEPT表中的MANAGER属性也是一个外键,它参考了EMP表中的ENO属性。这样就建立了EMP和DEPT之间的一对多关系,即一个部门可以有多个员工,而一个员工只能属于一个部门。