数据库实验一汇总.docx

上传人:b****3 文档编号:1296036 上传时间:2022-10-20 格式:DOCX 页数:22 大小:462.30KB
下载 相关 举报
数据库实验一汇总.docx_第1页
第1页 / 共22页
数据库实验一汇总.docx_第2页
第2页 / 共22页
数据库实验一汇总.docx_第3页
第3页 / 共22页
数据库实验一汇总.docx_第4页
第4页 / 共22页
数据库实验一汇总.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数据库实验一汇总.docx

《数据库实验一汇总.docx》由会员分享,可在线阅读,更多相关《数据库实验一汇总.docx(22页珍藏版)》请在冰豆网上搜索。

数据库实验一汇总.docx

数据库实验一汇总

 

实验报告

 

实验项目名称实验一SQL单表查询

实验室

所属课程名称《数据库》

实验日期

 

班级

学号

姓名

成绩

 

实验概述:

【实验目的及要求】

实验目的:

▪熟悉SQL*Plus的使用方法;

▪掌握单表查询的方法;

实验要求:

▪完成SQLLab1的所有实验;

▪完成SQLEXEC1的所有实验,记录并按要求提交实验结果;

【实验环境】

▪Oracle10g

实验内容:

【实验题目】

1.查询部门“30”中的雇员的所有信息;

2.查询薪金大于2000的雇员的编号、姓名、工作和薪金;

3.查询所有销售员(SALESMAN)的姓名、编号和部门编号;

4.查询佣金高于薪金50%的雇员的所有信息;

5.查询第1个字母为“M”的雇员姓名;

6.查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写;

7.查询姓名包含6个字符的雇员信息;

8.查询姓名中不含字母“S”的所有雇员信息;

9.查询所有雇员的姓名,以及所承担的工作名称的前5个字符;

10.查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金;

11.查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;

12.查询部门“20”中所有分析师(ANALYST)和部门“30”中所有办事员(CLERK)的详细信息;

13.查询部门“10”与“30”中所有经理以及部门“20”中所有分析师;

14.查询既不是经理又不是办事员但其薪金大于或等于1800的所有雇员的信息;

15.查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列;

16.查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列;

17.查询所有在7月份雇佣的雇员的信息;

18.查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期;

19.查询雇员的编号、姓名,以及加入公司以来的总工作天数;

20.查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列;

21.查询所有雇员的年薪,要求按年薪的降序排列查询结果;

22.查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期;

23.假设一个月为30天,计算所有雇员的日薪金(以元为单位);

24.查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数;

25.查询最低薪金大于1400的工作的最低薪金;

26.查询部门“20”和“30”中的雇员人数和平均工资;

27.查询办事员的最高、最低、平均和总薪金。

【实验过程】

1,查询部门“30”中的雇员的所有信息;

Select*

Fromemp

Wheredeptno=30;

2,查询薪金大于2000的雇员的编号、姓名、工作和薪金;

Selectempno,ename,job,sal

Fromemp

Wheresal>2000;

3,查询所有销售员(SALESMAN)的姓名、编号和部门编号

Selectename,empno,deptno

Fromemp

Wherejob=‘SALESMAN’;

4,查询佣金高于薪金50%的雇员的所有信息

Select*

Fromemp

Wheresal>1.5*comm;

5,查询第1个字母为“M”的雇员姓名

Selectempno,ename

Fromemp

WhereenameLIKE’M%’;

6,查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写

Selectinitcap(ename)ASENAME,hiredate

Fromemp;

7,查询姓名包含6个字符的雇员信息

Select*

Fromemp

Wherelength(ename)=6;

8,查询姓名中不含字母“S”的所有雇员信息

select*

fromemp

whereenamenotlike‘%S%’;

9,查询所有雇员的姓名,以及所承担的工作名称的前5个字符;

selectename,substr(job,1,5)asJOB

fromemp;

10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金

selectename,job,comm

fromemp

wherecommisnullOR

comm<200;

11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;

Selectdistinctjob

Fromemp

WherecommIsnotnull;

12,查询部门“20”中所有分析师(ANALYST)和部门“30”中所有办事员(CLERK)的详细信息;

Select*

Fromemp

Where(deptno=20ANDjob=’ANALYST’)OR

(deptno=30ANDjob=’CLERK’);

13,查询部门“10”与“30”中所有经理以及部门“20”中所有分析师;

Select*

Fromemp

Where(Job=’MANAGER’AND

(deptno=10ORdeptno=30))OR

(job=’ANALYST’ANDdeptno=20);

14,查询既不是经理又不是办事员但其薪金大于或等于1800的所有雇员的信息;

Select*

Fromemp

WherejobNOTIN(‘MANAGER’,’CLERK’)AND

sal>=1800;

15,查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列

SELECTEMPNO,ENAME,DEPTNO,JOB,HIREDATE,SAL

FROMemp

ORDERBYdeptnoASC,HiredateDESC;

16,查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列

SELECTename,job,sal

Fromemp

Orderbyjobdesc,salasc;

17,查询所有在7月份雇佣的雇员的信息

select*

fromemp

whereto_char(hiredate,'mm')=7;

18,查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期

Selectempno,ename,hiredate

Fromemp

Wherehiredate=last_day(hiredate);

19,查询雇员的编号、姓名,以及加入公司以来的总工作天数;

selectename,sysdate-hiredate

fromemp;

20,查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列

Selectempno,ename,to_char(hiredate,’yyyy’)asyear,to_char(hiredate,’mm’)asmonth

Fromemp

Orderbyyear,month;

21,查询所有雇员的年薪,要求按年薪的降序排列查询结果

Selectename,sal*12ASyearsal

Fromemp

Orderbyyearsaldesc;

22,查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期

selectename,deptno,hiredate

fromemp

wheremonths_between(sysdate,hiredate)/12>20;

23,假设一个月为30天,计算所有雇员的日薪金(以元为单位)

Selectename,sal/30ASdaysal

Fromemp;

24,查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数

SelectJOB,AVG(sal),MAX(sal),COUNT(*)

Fromemp

GROUPBYjob;

25,查询最低薪金大于1400的工作的最低薪金

SelectJOB,MIN(sal)

Fromemp

GROUPBYjob

HAVINGMIN(sal)>1400;

26,查询部门“20”和“30”中的雇员人数和平均工资

Selectdeptno,COUNT(*),AVG(sal)

Fromemp

Wheredeptno=20OR

Deptno=30

GROUPBYdeptno;

27,查询办事员的最高、最低、平均和总薪金

Selectjob,MAX(sal),MIN(sal),AVG(sal),SUM(sal)

Fromemp

Wherejob=’CLERK’

GROUPBYjob;

【实验结果】

1,查询部门“30”中的雇员的所有信息;

2,查询薪金大于2000的雇员的编号、姓名、工作和薪金;

3,查询所有销售员(SALESMAN)的姓名、编号和部门编号

4,查询佣金高于薪金50%的雇员的所有信息

5,查询第1个字母为“M”的雇员姓名

6查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写

7,查询姓名包含6个字符的雇员信息

8,查询姓名中不含字母“S”的所有雇员信息

9,查询所有雇员的姓名,以及所承担的工作名称的前5个字符;

10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金

11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消;

12,查询部门“20”中所有分析师(ANALYST)和部门“30”中所有办事员(CLERK)的详细信息

13,查询部门“10”与“30”中所有经理以及部门“20”中所有分析师;

14,查询既不是经理又不是办事员但其薪金大于或等于1800的所有雇员的信息

15,查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列

16,查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列

17,查询所有在7月份雇佣的雇员的信息

18,查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期

19,查询雇员的编号、姓名,以及加入公司以来的总工作天数

20,查询所有雇员的编号、姓名,以及加入公司的年份和月份;要求按年份的升序排列,年份相同的,按月份的升序排列

21,查询所有雇员的年薪,要求按年薪的降序排列查询结果

22,查询已经在公司工作了20多年的雇员的姓名、部门号和雇佣日期

23,假设一个月为30天,计算所有雇员的日薪金(以元为单位)

24,查询各类别工作的平均薪金和最高薪金,以及承担各项工作的雇员人数

25,查询最低薪金大于1400的工作的最低薪金

26,查询部门“20”和“30”中的雇员人数和平均工资

27,查询办事员的最高、最低、平均和总薪金

实验成绩:

批阅老师:

批阅日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1