数据库实验一汇总.docx
- 文档编号:1296036
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:22
- 大小:462.30KB
数据库实验一汇总.docx
《数据库实验一汇总.docx》由会员分享,可在线阅读,更多相关《数据库实验一汇总.docx(22页珍藏版)》请在冰豆网上搜索。
数据库实验一汇总
实验报告
实验项目名称实验一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,查询办事员的最高、最低、平均和总薪金
实验成绩:
批阅老师:
批阅日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 汇总