实验一SQL基础实验报告.doc_第1页
实验一SQL基础实验报告.doc_第2页
实验一SQL基础实验报告.doc_第3页
实验一SQL基础实验报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称:ORACLE数据库系统及应用 成绩评定: 湖南第一师范学院信息科学与工程系实验报告实验项目名称:实验一:SQL语言基础 指导教师: 洪伟 学生姓名: 彭艳 学号:09403090220 专业班级: 09计科2班实验项目类型: 设计 实验地点:科A301 实验时间: 2011 年 10 月 8 日一、实验目的与要求: 1、掌握SQL的各种DDL语言; 2、掌握SQL的各种DML语言; 3、掌握SQL的各种复杂查询。二、实验环境:(硬件环境、软件环境)1.硬件环境:奔 PC。2.软件环境:Windows2000 操作系统,Oracle 9i。三、实验内容:(原理、操作步骤、程序代码等)任务:1、 建立一个表(表名自定),表结构与EMP表相同,没有任何记录。2、 用INSERT语句向该新建立的表中插入5条记录,并提交。3、 扩大该表的记录数到30条,并使雇员号不重复;每个雇员都有所属部门,雇员在同一部门的经理是同一人。4、 建立一个与DEPT表结构和记录完全相同的单相表,并与1建立的新表建立参照完整性约束。5、 对在NEWYORK工作的雇员加工资,每人加500。6、 如果雇员姓名与部门名称中有一个或一个以上相同的字母,则该雇员的COMM增加400。7、 删除部门号为40的记录,并删除该部门的所有成员。8、 在雇员表中新增列性别SEX,字符型。9、 试着删除新表中的某一列。10、 建立一个视图myview,视图包括新表中的empno,ename,sal,danme。11、 在新雇员表中建立ename的唯一索引。12、 从新雇员表中查找姓名以J开头的所有雇员的姓名。13、 查询工作是CLERK的所有人的姓名、工资与部门名、部门地址。14、 查询新雇员表中所有的工资大于2000块的雇员姓名与他的经理名。15、 查询新雇员表中工资高于JONES的所有雇员姓名、工作和工资。16、 列出没有对应部门表信息的所有雇员的姓名、工作以及部门号。17、 查询工资在20003000之间的雇员所在部门的所有人员信息。18、 查询工资最高的员工。19、 查询所有81年7月1日以前来的员工姓名、工资与所属部门的名字。20、 查询在CHICAGO工作的经理MANAGER和销售员SALESMAN的姓名与工资。21、 查询就职时间超过30年的员工名单。22、 查询公司中按年份月份统计各地的录用职工数量。23、 查询工资排第一至三位的员工信息。24、 查询所有年薪在50000以上的所有员工信息。25、 查询与JONES的部门与岗位相同的所有雇员。具体操作步骤及程序代码为:1.create table emp1(empno number(4),ename varchar2(10),job varchar2(10),mgr number(4), hiredate date,sal number(7,2),comm number(7,2),deptno number(2);2.insert into emp1(empno,ename,job,mgr,hiredate,sal,comm,deptno)values(1,A,manager,22-12月-03,7000,40);3.insert into emp1(empno,ename,job,mgr,hiredate,sal,comm,deptno)select * from emp;4. alter table my_dept add( constraint s1 primary key(deptno);alter table my_emp add(constraint s2 foreign key(deptno) references dept(deptno);5. update emp set sal=sal+500 where deptno in( select deptno from dept where loc=NEW YORK);6. update emp set comm=nvl(comm,0)+400 where ename ( select translate(emp.ename,dname,*) from dept);7. delete from emp where deptno=40;8. alter table emp add sex char(4);9. delete from emp1 where empno=1;10. create view myview as select empno,ename,sal,deptno from emp1;11. create index ename on emp(ename);12. select ename from emp where ename like J%;13. select ename,sal,emp.deptno,loc from emp,deptwhere emp.deptno = dept.deptno and emp.job=CLERK ;14. select e1.ename,e2.ename manager from emp e1,emp e2where e1.sal+nvl(m,0)2000 and e1.mgr=e2.empno;15. select ename,job,sal from empwhere sal+nvl(comm,0)(select sal+nvl(comm,0) from empwhere ename=JONES);16.select ename,job,deptno from empwhere deptno not in(select deptnofrom dept);17.select * from emp where deptno in(select deptno from emp where sal+nvl(comm,0)2000and sal+nvl(comm,0)3000);18.select ename,job from emp where sal+nvl(comm,0)=(select max(sal+nvl(comm,0) from emp);19. select ename,sal,dname from emp,dept Where emp.deptno=dept.deptno and hiredate=to_date(1981-07-01,yyyy-mm-dd);20.select ename,job,sal from emp where job in(MANAGER,SALESMAN) anddeptno in(select deptno from deptwhere loc=CHICAGO);21.select ename from emp where add_months(hiredate,360)sysdate;22. select to_char(hiredate,yyyy-mm),loc,count(*) from emp,dept where emp.deptno=dept.deptno group by to_char(hiredate,yyyy-mm),loc;23. select * from ( select row_number() over(order by sal desc) rk, emp.* from scott.emp) where rk 50000;25.select * from emp e1 where deptno=(select deptno from emp e2 where e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论