Oracle 作业(1)

更新时间:2024-06-30 11:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

注意:谨慎使用delete;绝对不能对pf_customer表和ebiz_claim表使用delete

1、创建一个部门表(Department)和员工表(Employees)。Department表的字段为序列主键id(唯一标识符,从序列中获取,序列名称为Department _SEQ),部门编码,部门名称。Employees表的字段为序列主键id(与部门的id类似),员工工号,员工名称,直接上级,所属部门,工资

createtable deparment( Idint,

name varchar2(16),

constraint pk_deparment primarykey(Id) );

createsequence DEPARTMENT_SEQ minvalue1

maxvalue9999999999999999999999999999 startwith1 incrementby1 nocache; 员工表

Create table employees ( Id int,

eName varchar2(20), Empno varchar2(16), MANAGER_ID varchar2(16), Dep_id varchar(16), Salary varchar (16);

Constraint pk_employees primary key(id) );

createsequenceEMPLOYEES_SEQ minvalue1

maxvalue9999999999999999999999999999 startwith1 incrementby1 nocache;

2、在pf_customer_new表中增加记录。name为“张三”,邮箱为“aaa@163.com”

insertinto

pf_customer_new(id,name,email)values(PF_CUSTOMER_NEW_SEQ.Nextval,'

','aaa@163.com');

3、从pf_customer表提取name以tb开头的所有数据,并插入到pf_customer_new表中

4、修改pf_customer_new表中,id为1的记录的name值为test Update pf_customer_new Set name =(‘test’) Where id=1

5、修改pf_customer_new表中,id为1的记录的name值与id为3的记录的name值相同(说明:如果没有id为1和3的数据,可以用其他id值的数据)

update pf_customer_new

setname=(selectnamefrom pf_customer_new whereid=3) whereid=1

6、删除pf_customer_new 表中 id为102的记录

delete from pf_customer_new where customer-id=102

7、从pf_customer_new表中查询用户名(name)和手机号(mobile)信息 Select name,mobile from pf_customer_new

8、从pf_customer_new表中利用出生日期查询出用户的当前年龄 9、查询pf_customer_new表中,所有不重复的用户名

selectdistinctnamefrom pf_customer_new

10、查询pf_customer_new表中所有name以tb开头的用户记录

selectnamefrom pf_customer_new wherenamelike'tb%';

11、查询pf_customer_new表中id为1和2的用户记录

selectname,password,real_name,status,address,created_date,email whereid=741 and id=742

from

pf_customer_new

12、查询pf_customer_new表中name不为空的数据,并且按照id倒序排列,按照name正序排列

Selectname,idfrom pf_customer_new wherenameisnotnullorderbyname,iddesc

13、查找pf_customer_new表中的用户总数

selectcount(name)from pf_customer_new

14、查找pf_customer_new表中姓名不为空的男女人数各有多少

15、按照姓名分组,查询每个分组的记录数,保留记录数大于3的数据。 16、在ebiz_code_new表中查询每个城市所属的省份名称信息

17、查询ebiz_claim表中,claim_id为693的记录,对应的用户的创建日期(created_date) Select created_date from ebiz_claim where claim_id=693

18、查询pf_customer_new表中姓名含有tb字符,年龄大于10岁的用户和姓名含有2,年龄大于20岁的用户,并且不含有重复记录

Select distinct name,age from pf_customer_new where name like ‘tb%’ and age>10 19、查询pf_customer_new表中id为100,200,300,400,500,600的用户

Select*from pf_customer_new where id=100or id=200 or id= 300 or id=400 or id=500 or id=600

20、查询pf_customer_new表中是否含有id为4444的记录 select count(*) from pf_customer_new where id='4444'; 21、使用1创建的部门表和员工表,完成以下查询 1)查询本部门最高工资的员工(至少两种方法) select 部门,职工号,工资 from 职工表

where 工资 in (select max(工资) from 职工表 group by 部门) 2)查询本部门第二高工资的员工 3)查询本部门最低工资的员工 4)统计每个部门的信息和人数

5)统计每个部门工资在(500-1000)/(1000-3500)/(3500-7000) 的人数

6)查询员工姓名和其直接上级的姓名,要求没有经理的员工也查询出来,显示结果为“员工XX 的上级是OO” 。没有经理的员工显示为’无上级’

7)将所有雇员按部门分组,找到平均工资在前三名的部门信息,并显示名次列。如果有

并列的则显示相同的名次

8)将所有雇员按部门分组,找到平均工资大于3000的部门信息 9)显示不同工种的最高工资

10)显示不同部门的平均工资,并保留两位小数 11)按照部门,名称分组,部门名称相同时进行合计 12)按id倒序排序,查询表中第31-50行之间的20条数据 22、用自己的话,解释什么是事务

23、Oracle常用的系统表有哪些,分别是做什么的

本文来源:https://www.bwwdw.com/article/knu3.html

Top