概述
第一题:
有下列信息需要管理,请创建表对其进行管理。员工信息(员工编号、员工姓名、员工性别、员工的email、员工的电话、员工的工资、员工的职位,员工所在部门。部门信息(部门编号、部门名称、部门所在地)。工作职位表(职位编号、职位名称、职位描述)。
1.要求:为表创建必要的主键和外键。
2.为表创建必要的check约束和notnull约束。
第二题:
对建立的表插入如下信息:
员工表:
(0003,赵克佳,女,zkj@163.com,0411-54684891,2400,2007,3003)
(0001,陈火旺,男,huo@163.com,0411-54684521,1200,2001,3001)
(0002,陈火旺,男,huo@163.com,0411-54644521,1500,2008,3002)
部门表:
(3001,计算机系,二教学楼)
(2004,保安,负责安全工作)
(3002,机电系,机电楼)
职位表:
(3003,图书馆,图书馆)
(2007,实验教师,负责实验室管理维护工作)
(2001,教师,负责教学科研工作)(2008,图书管理员,负责图书馆的管理)
1将职位表中的职位号是2008的行的职位描述更新成“负责图书馆的图书的借阅、图 书的整理” 。
2将姓名是‘陈火旺’的员工的工资都更新成2000。
3将0003号员工的部门编号改为3004 。
4将职位表中编号是2001的行编号改成2009。
5删除员工编号是0003的员工信息。
6删除职位编号是2007的职位信息。
create table department (
did CHAR(4) NOT NULL,
dname CHAR(20) ,
location CHAR(20),
constraint pk_department primary key (did)
);
create table job(
jid CHAR(10) NOT NULL,
jname CHAR(20),
description CHAR(100),
constraint pk_job primary key (jid)
);
create table employee(
eid CHAR(4) NOT NULL,
ename CHAR(20) NOT NULL,
sex CHAR(3),
CONSTRAINT sex CHECK (sex in('男','女')),
email VARCHAR(12),
phone CHAR(13),
salary FLOAT(8),
jid CHAR(10) NOT NULL,
did CHAR(4) NOT NULL,
constraint pk_employees primary key (eid),
constraint fk_employees_did foreign key (did) references department (did) ,
constraint fk_employees_jid foreign key (jid) references job (jid)
);
//插入信息
INSERT INTO department (did,dname,location) VALUES ('3001','计算机系','二教学楼');
INSERT INTO department (did,dname,location) VALUES ('3002','机电系','机电楼');
INSERT INTO department (did,dname,location) VALUES ('3003','图书馆','图书馆');
INSERT INTO job (jid,jname,description) VALUES ('2001','教师','负责教学科研工作');
INSERT INTO job (jid,jname,description) VALUES ('2004','保安','负责安全工作');
INSERT INTO job (jid,jname,description) VALUES ('2007','实验教师','负责实验室管理维护工作');
INSERT INTO job (jid,jname,description) VALUES ('2008','图书管理员','负责图书馆的管理工作');
INSERT INTO
employee (eid,ename,sex,email,phone,salary,jid,did) VALUES ('0001','陈火旺','男','huo@163.com','0411-54684521','1200','2001','3001');
INSERT INTO
employee (eid,ename,sex,email,phone,salary,jid,did) VALUES ('0002','陈火旺','男','huo@163.com','0411-54644521','1500','2008','3002');
INSERT INTO
employee (eid,ename,sex,email,phone,salary,jid,did) VALUES ('0003','赵克佳','女','zkj@163.com','0411-54684891','2400','2007','3003');
UPDATE job
SET description = 负责图书馆图书的借阅,图书的管理
WHERE id = '2008';
//1将职位表中的职位号是2008的行的职位描述更新成“负责图书馆的图书的借阅、图
书的整理” 。
UPDATE employee
SET salary = 2000
WHERE ename ='陈火旺';
//2将姓名是‘陈火旺’的员工的工资都更新成2000。
UPDATE employee
SET did = 3004
WHERE eid = '0003';
//3将0003号员工的部门编号改为3004 。
UPDATE job
SET jid = 2009
WHERE jid = '2001';
//4将职位表中编号是2001的行编号改成2009。
DELETE
FROM employee
WHERE eid = '0003';
//5删除员工编号是0003的员工信息。
DELETE
FROM job
WHERE jid = '2007';
// 6删除职位编号是2007的职位信息。
SELECT*
FROM department;
//查询出所有部门的情况信息。
SELECT ename,salary
FROM employee
WHERE did = '3002';
//检索部门号码是3002的员工的姓名、工资。
SELECT*
FROM employee
WHERE ename LIKE '赵%';
//检索出姓赵的员工的信息。
SELECT employee.*,department.dname
FROM employee,department
WHERE salary>1000 AND salary<2000 AND department.did = employee.did;
//检索出所有工资大于1000,小于2000的员工的所有信息,包括他们的部门名称
SELECT*
FROM employee
WHERE ename LIKE '%火%' AND salary<2000;
//检索出员工的名字中有“火”并且工资小于2000的员工的信息。
SELECT*
FROM employee
ORDER BY salary ASC;
//检索出所有员工的信息,根据工资升序排列。
SELECT ename,salary
FROM employee
WHERE salary >(SELECT salary FROM employee WHERE eid = '0002');
//检索出比员工编号是0002的员工工资高的员工的姓名。
SELECT COUNT(eid),AVG(salary)
FROM employee
GROUP BY eid;
//对员工信息,检索出各个部门的平均工资和总人数。
//(SELECT did,COUNT(*),AVG(salary)FROM employee GROUP BY did;)
SELECT eid,ename,jname,dname
FROM employee,department,job
WHERE employee.jid = job.jid AND employee.did = department.did;
//对员工信息,检索出如下列:员工编号、员工姓名、职位名称、部门名称。
最后
以上就是神勇唇彩为你收集整理的数据库(员工信息表)的全部内容,希望文章能够帮你解决数据库(员工信息表)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复