数据库实验一_第1页
数据库实验一_第2页
数据库实验一_第3页
数据库实验一_第4页
数据库实验一_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告实验项目名称 实验一 SQL单表查询 实 验 室 所属课程名称 数据库 实 验 日 期 班 级 学 号 姓 名 成 绩 实验概述:【实验目的及要求】实验目的:§ 熟悉SQL*Plus的使用方法;§ 掌握单表查询的方法;实验要求:§ 完成SQL Lab1的所有实验;§ 完成SQL EXEC1的所有实验,记录并按要求提交实验结果;【实验环境】§ Oracle10g实验内容:【实验题目】 1. 查询部门“30”中的雇员的所有信息;2. 查询薪金大于2000的雇员的编号、姓名、工作和薪金; 3. 查询所有销售员(SALESMAN)的姓名、编号和

2、部门编号;4. 查询佣金高于薪金50% 的雇员的所有信息;5. 查询第1个字母为“M”的雇员姓名;6. 查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写;7. 查询姓名包含6个字符的雇员信息;8. 查询姓名中不含字母“S”的所有雇员信息;9. 查询所有雇员的姓名,以及所承担的工作名称的前5个字符;10. 查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金;11. 查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;12. 查询部门 “20” 中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息;13. 查询部门“10”与 “30” 中所

3、有经理以及部门 “20”中所有分析师;14. 查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息;15. 查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列;16. 查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列;17. 查询所有在7月份雇佣的雇员的信息;18. 查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期;19. 查询雇员的编号、姓名,以及加入公司以来的总工作天数;20. 查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列

4、,年份相同的,按月份的升序排列;21. 查询所有雇员的年薪,要求按年薪的降序排列查询结果;22. 查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期;23. 假设一个月为 30 天,计算所有雇员的日薪金(以元为单位);24. 查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数;25. 查询最低薪金大于 1400的工作的最低薪金;26. 查询部门“20”和“30”中的雇员人数和平均工资;27. 查询办事员的最高、最低、平均和总薪金。【实验过程】1, 查询部门“30”中的雇员的所有信息;Select *From empWhere deptno=30;2, 查询薪金大于2000的

5、雇员的编号、姓名、工作和薪金;Select empno,ename,job,salFrom empWhere sal>2000;3, 查询所有销售员(SALESMAN)的姓名、编号和部门编号Select ename,empno,deptnoFrom empWhere job= SALESMAN;4, 查询佣金高于薪金50% 的雇员的所有信息Select *From empWhere sal>1.5*comm;5, 查询第1个字母为“M”的雇员姓名Select empno,enameFrom empWhere ename LIKE M%;6, 查询雇员的姓名和雇佣日期,在显示姓名时只

6、有第1个字母使用大写Select initcap(ename) AS ENAME,hiredateFrom emp;7, 查询姓名包含6个字符的雇员信息Select *From empWhere length(ename)=6;8, 查询姓名中不含字母“S”的所有雇员信息select *from empwhere ename not like %S%;9, 查询所有雇员的姓名,以及所承担的工作名称的前5个字符;select ename,substr(job,1,5)as JOBfrom emp;10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金select ename,job,c

7、ommfrom empwhere comm is null ORcomm<200;11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;Select distinct jobFrom empWhere comm Is not null;12, 查询部门 “20” 中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息;Select *From empWhere (deptno=20 AND job=ANALYST) OR(deptno=30 AND job=CLERK);13, 查询部门“10”与 “30” 中所有经理以及部门 “20”中所有分析师

8、;Select *From empWhere (Job=MANAGER AND(deptno=10 OR deptno=30) OR(job=ANALYST AND deptno=20);14, 查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息;Select *From empWhere job NOT IN (MANAGER,CLERK) ANDsal>=1800;15, 查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列SELECT EMPNO,ENAME,DEPTNO,JOB,HIR

9、EDATE,SALFROM empORDER BY deptno ASC,Hiredate DESC;16, 查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列SELECT ename,job,salFrom empOrder by job desc,sal asc;17, 查询所有在7月份雇佣的雇员的信息select * from empwhere to_char(hiredate,'mm')=7;18, 查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期Select empno,ename,hiredateFrom empWhere

10、 hiredate=last_day(hiredate);19, 查询雇员的编号、姓名,以及加入公司以来的总工作天数;select ename,sysdate-hiredatefrom emp;20, 查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列Select empno,ename,to_char(hiredate,yyyy)as year,to_char(hiredate,mm)as monthFrom empOrder by year,month;21, 查询所有雇员的年薪,要求按年薪的降序排列查询结果Select ename,sa

11、l*12 AS yearsalFrom empOrder by yearsal desc;22, 查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期select ename,deptno,hiredate from emp where months_between(sysdate,hiredate)/12>20;23, 假设一个月为 30 天,计算所有雇员的日薪金(以元为单位)Select ename,sal/30 AS daysalFrom emp;24, 查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数Select JOB,AVG(sal),MAX(sal),C

12、OUNT(*)From empGROUP BY job;25, 查询最低薪金大于 1400的工作的最低薪金Select JOB,MIN(sal)From empGROUP BY jobHAVING MIN(sal)>1400;26, 查询部门“20”和“30”中的雇员人数和平均工资Select deptno,COUNT(*),AVG(sal)From empWhere deptno=20 ORDeptno=30GROUP BY deptno;27, 查询办事员的最高、最低、平均和总薪金Select job,MAX(sal),MIN(sal),AVG(sal),SUM(sal)From e

13、mpWhere job=CLERKGROUP BY job;【实验结果】1, 查询部门“30”中的雇员的所有信息;2, 查询薪金大于2000的雇员的编号、姓名、工作和薪金;3, 查询所有销售员(SALESMAN)的姓名、编号和部门编号4, 查询佣金高于薪金50% 的雇员的所有信息5, 查询第1个字母为“M”的雇员姓名6查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写7, 查询姓名包含6个字符的雇员信息8, 查询姓名中不含字母“S”的所有雇员信息9, 查询所有雇员的姓名,以及所承担的工作名称的前5个字符;10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金11,查询收取佣

14、金的雇员所承担的工作的名称,重复的工作名称应取消;12,查询部门 “20” 中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息13,查询部门“10”与 “30” 中所有经理以及部门 “20”中所有分析师;14,查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息15,查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列16,查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列17,查询所有在7月份雇佣的雇员的信息18,查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期19,查询雇员的编号、姓名,以及加入公司以来的总工作天数20,查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,

温馨提示

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

评论

0/150

提交评论