1、数据库实验一汇总实验报告实验项目名称 实验一 SQL单表查询 实 验 室 所属课程名称 数据库 实 验 日 期 班 级 学 号 姓 名 成 绩 实验概述:【实验目的及要求】实验目的: 熟悉SQL*Plus的使用方法; 掌握单表查询的方法;实验要求: 完成SQL Lab1的所有实验; 完成SQL EXEC1的所有实验,记录并按要求提交实验结果;【实验环境】 Oracle10g实验内容:【实验题目】 1. 查询部门“30”中的雇员的所有信息;2. 查询薪金大于2000的雇员的编号、姓名、工作和薪金; 3. 查询所有销售员(SALESMAN)的姓名、编号和部门编号;4. 查询佣金高于薪金50% 的雇
2、员的所有信息;5. 查询第1个字母为“M”的雇员姓名;6. 查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写;7. 查询姓名包含6个字符的雇员信息;8. 查询姓名中不含字母“S”的所有雇员信息;9. 查询所有雇员的姓名,以及所承担的工作名称的前5个字符;10. 查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金;11. 查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;12. 查询部门 “20” 中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息;13. 查询部门“10”与 “30” 中所有经理以及部门 “20”中所有分析师;14.
3、 查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息;15. 查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列;16. 查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列;17. 查询所有在7月份雇佣的雇员的信息;18. 查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期;19. 查询雇员的编号、姓名,以及加入公司以来的总工作天数;20. 查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列;21. 查询
4、所有雇员的年薪,要求按年薪的降序排列查询结果;22. 查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期;23. 假设一个月为 30 天,计算所有雇员的日薪金(以元为单位);24. 查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数;25. 查询最低薪金大于 1400的工作的最低薪金;26. 查询部门“20”和“30”中的雇员人数和平均工资;27. 查询办事员的最高、最低、平均和总薪金。【实验过程】1, 查询部门“30”中的雇员的所有信息;Select *From empWhere deptno=30;2, 查询薪金大于2000的雇员的编号、姓名、工作和薪金;Select
5、empno,ename,job,salFrom empWhere sal2000;3, 查询所有销售员(SALESMAN)的姓名、编号和部门编号Select ename,empno,deptnoFrom empWhere job= SALESMAN;4, 查询佣金高于薪金50% 的雇员的所有信息Select *From empWhere sal1.5*comm;5, 查询第1个字母为“M”的雇员姓名Select empno,enameFrom empWhere ename LIKE M%;6, 查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写Select initcap(ename
6、) 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,commfrom empwhere comm is null
7、ORcomm=1800;15, 查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列SELECT EMPNO,ENAME,DEPTNO,JOB,HIREDATE,SALFROM empORDER BY deptno ASC,Hiredate DESC;16, 查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列SELECT ename,job,salFrom empOrder by job desc,sal asc;17, 查询所有在7月份雇佣的雇员的信息select * from e
8、mpwhere to_char(hiredate,mm)=7;18, 查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期Select empno,ename,hiredateFrom empWhere hiredate=last_day(hiredate);19, 查询雇员的编号、姓名,以及加入公司以来的总工作天数;select ename,sysdate-hiredatefrom emp;20, 查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列Select empno,ename,to_char(hiredate,yyyy)as ye
9、ar,to_char(hiredate,mm)as monthFrom empOrder by year,month;21, 查询所有雇员的年薪,要求按年薪的降序排列查询结果Select ename,sal*12 AS yearsalFrom empOrder by yearsal desc;22, 查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期select ename,deptno,hiredate from emp where months_between(sysdate,hiredate)/1220;23, 假设一个月为 30 天,计算所有雇员的日薪金(以元为单位)Selec
10、t ename,sal/30 AS daysalFrom emp;24, 查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数Select JOB,AVG(sal),MAX(sal),COUNT(*)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 ORDeptn
11、o=30GROUP BY deptno;27, 查询办事员的最高、最低、平均和总薪金Select job,MAX(sal),MIN(sal),AVG(sal),SUM(sal)From empWhere job=CLERKGROUP BY job;【实验结果】1, 查询部门“30”中的雇员的所有信息;2, 查询薪金大于2000的雇员的编号、姓名、工作和薪金;3, 查询所有销售员(SALESMAN)的姓名、编号和部门编号4, 查询佣金高于薪金50% 的雇员的所有信息5, 查询第1个字母为“M”的雇员姓名6查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写7, 查询姓名包含6个字符的雇员
12、信息8, 查询姓名中不含字母“S”的所有雇员信息9, 查询所有雇员的姓名,以及所承担的工作名称的前5个字符;10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;12,查询部门 “20” 中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息13,查询部门“10”与 “30” 中所有经理以及部门 “20”中所有分析师;14,查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息15,查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编
13、号相同的雇员再按雇佣日期的降序排列16,查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列17,查询所有在7月份雇佣的雇员的信息18,查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期19,查询雇员的编号、姓名,以及加入公司以来的总工作天数20,查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列21,查询所有雇员的年薪,要求按年薪的降序排列查询结果22,查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期23,假设一个月为 30 天,计算所有雇员的日薪金(以元为单位)24,查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数25,查询最低薪金大于 1400的工作的最低薪金26,查询部门“20”和“30”中的雇员人数和平均工资27,查询办事员的最高、最低、平均和总薪金实验成绩: 批阅老师: 批阅日期:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1