人事部门
System系统用户下新建用户并授权
新建连接
- --1.创建表
- --人员表:Person
- --EID:人员编号 PK
- --Name:姓名
- --Department:部门名称
- --Email:电子邮件
- create table Person
- (
- EID varchar2(10) primary key,
- Name varchar2(10),
- Departement varchar2(10),
- Email varchar2(10)
- );
- --考试成绩表:Course
- --CourseID:课程号
- --EID:人员编号
- --CourseName:课程名称
- --Grade:成绩
- --MyOrder:名次
- create table Course
- (
- CourdeID varchar2(10),
- EID varchar2(10),
- CourseName varchar2(10),
- Grade varchar2(10),
- MyOrder varchar2(10)
- );
- --2,插入数据
- insert into Person values('10001','李伟','BBS','');
- insert into Person values('10003','李强','CG','');
- insert into Person values('10005','苗人凤','BBS','');
- insert into Person values('10009','李松','TM','');
- insert into Person values('10059','李清照','ST','');
- insert into Person values('20050','胡斐','TM','');
- insert into Person values('21001','李峰','CH','');
- insert into Person values('22206','小龙女','GM','');
- select * from Person;
- insert into Course values('C1','10001','SQL','90','');
- insert into Course values('C2','10003','VB','78','');
- insert into Course values('C3','10005','JAVA','80','');
- insert into Course values('C1','20006','SQL','80','');
- insert into Course values('C3','22059','JAVA','96','');
- insert into Course values('C3','10059','JAVA','88','');
- insert into Course values('C2','22006','VB','60','');
- insert into Course values('C1','33303','SQL','77','');
- insert into Course values('C1','10005','SQL','98','');
- insert into Course values('C1','10001','VB','88','');
- insert into Course values('C1','10003','SQL','80','');
- insert into Course values('C1','10003','JAVA','96','');
- select * from Course;
- --3.进行操作
- --1、查询各部门姓“李”且参加了考试的人数和部门名称
- select departement,count(eid) from person
- where eid in (select eid from course) and name like '李%'
- group by departement;
- --2、查询各部门没有参加考试的人员名单
- select * from person
- where EID not in (select EID from course);
- --3、查询只参加了部分考试的员工信息
- select eid,name,departement from person join
- (select EID,count(coursename)counts from course
- group by EID) temp
- on person.EID=temp.EID
- where counts<3;
- --4、查询出各课程的课程名称和最高成绩
- select coursename,max(grade)
- from course
- group by coursename;
- --5、将员工的Email更新为员工所在部门名称+员工姓名+”@itshixun.com”的形式
- alter table person modify email varchar2(30) ; --modify的用法
- update person set email=departement||'-'||name||'@itshixun.com'; --注意||的用法
- --6、将参加了考试但是没有登记在人员表的人员EID插入到人员表
- insert into person(EID) --没有values
- select eid from course
- where eid not in(select eid from person);
- --添加数据记录:
- --insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)
- --insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)