oracle简单查询课后作业

练习1

笔记:在关于oracle的性能问题中,使用指定的列查询(如第2题)比使用select * (如第1题)会效率高很多,虽然结果一样,但是执行起来更加优化,这与关乎到有没有命中索引的问题。

• 1.使用两种方式查询所有员工(EMP)信息

select * from emp;

• 2.查询(EMP)员工编号、员工姓名、员工职位、 员工月薪、工作部门编号。

select empno,ename,job,sal,deptno from emp;

练习2

笔记:在oracle中,sqlplus以及在sql developer中,可以使用

  或者  --注释文字  来注释文字,在编写程序的习惯中,好的习惯是对自己的程序编写好注释,这样方便其他人查看自己的代码。

• 1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。

select  empno,ename,job,sal*(1+0.2),deptno from emp;

• 2.员工试用期6个月,转正后月薪上调 转正后月薪上调20%,请查 询出所有员工工作第一年的年薪所得(不考虑奖 金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)

select  empno,ename,job,6*sal+6*sal*(1+0.2),deptno from emp;

 

练习3

错误笔记:在起别名的时候,注意,别名如果是中文,需要写上双引号,单引号是报错的。

 

• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖 金部分),要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

select  ename  "员工姓名",sal  "工资收入",comm  "奖金收入" ,6*sal+6*sal*(1+0.2)+12*comm  "总收入"  from emp;

练习3

• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),

要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

select  ename  "员工姓名",sal  "工资收入",comm  "奖金收入" ,6*sal+6*sal*(1+0.2)+12*comm  "总收入"

from emp;

练习4

• 1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖

金部分),要求显示格式为:XXX的第一年总收入为XXX。

--笔记:需要使用连接符号  ||,同时,在连接符号中,需要单引号连接

Select ename  || '的第一年总收入为' || (6*sal+6*sal*(1+0.2)+12*comm)   from emp;

• 2.查询员工表中一共有哪几种岗位类型。

--笔记:需要去掉重复的job。distinct写在字段前边

select distinct job from emp;

练习5

在SQL*Plus中,可以使用DESCRIBE 命令来查看表结构

--使用desc table查看表结构

desc emp;

课后作业

• 1.分别选择员工表、部门表、薪资等级表中的所有数据。

select * from emp;

select * from dept;

select * from bonus;

• 2.分别查看员工表、部门表、薪资等级表的表结 薪资等级表的表结构。

desc emp; --查看員工表

desc dept;--查看部门表

desc bonus;--查看薪资

猜你喜欢

转载自blog.csdn.net/GHHCNGC/article/details/81190170